gitコマンドの使い方 ~ git ls-files ~

git ls-files コマンド概要

git ls-filesコマンドはstaging-area(ステージングエリア)でインデックスされているファイルを確認したい場合に利用するコマンドです。

ディレクトリパスを含むファイルパスの一覧を表示することができます。

git ls-files コマンドの使い方

git ls-files [オプション]

git ls-filesはオプションにより追加・更新・削除のファイルを絞ることもできます。

git ls-files オプション

オプションなし または –c

インデックスされているファイルの一覧を表示する

$ git ls-files
file-A.txt
file-B.txt
file-C.txt
file-D.txt

$ git ls-files -c
file-A.txt
file-B.txt
file-C.txt
file-D.txt

-d

working-directory(作業ディレクトリ)で削除したファイルが表示される

$ rm file-C.txt

$ git ls-files -d
file-C.txt

追跡対象となっているファイルに限る
git addでstaging-area(ステージングエリア)に登録されたファイル

-m

working-directory(作業ディレクトリ)で更新したファイルが表示される

$ cat file-B.txt
bbb

$ echo 'bbb' >> file-B.txt

$ cat file-B.txt
bbb
bbb

$ git ls-files -m
file-B.txt

追跡対象となっているファイルに限る
git addでstaging-area(ステージングエリア)に登録されたファイル

-o

インデックスに追加していない(追跡されていない)ファイルの一覧を表示する

言い換えると、git add を一度も実行していないファイルの一覧を表示する

$ echo 'eee' > file-E.txt

$ git ls-files -o
file-E.txt

-s

リポジトリ格納されたblobのhash値とファイル名の一覧を表示する

$ git ls-files -s
100644 72943a16fb2c8f38f9dde202b7a70ccc19c52f34 0       file-A.txt
100644 f761ec192d9f0dca3329044b96ebdb12839dbff6 0       file-B.txt
100644 1feee0189611dea4e7b335ff6510071b11f2e31a 0       file-C.txt
100644 1d60b70ed8125fdfde9934ac0942548a25477971 0       file-D.txt

git ls-files の全てのオプションを確認する方法

以下のコマンドを実行するとブラウザでgit ls-filesのヘルプページが表示される

git ls-files --help

Gitコマンドの使い方一覧

Git設定git config ~Gitリポジトリの設定~
初期化git init ~ローカルリポジトリの構築~
ログ&設定値確認git log ~commitログの履歴確認~
git status ~作業ディレクトリとステージングエリアの更新状態確認~
git diff ~commitやファイルの差分確認~
git show ~commitの内容確認~
git remote ~リモート追跡ブランチのリモートリポジトリの設定確認~
git reflog ~HEADやブランチの移動履歴の確認と整理~
ステージングエリアの操作git add ~ステージングエリア(インデックス)にファイル追加~
git ls-files ~ステージングエリア(インデックス)のファイル一覧表示~
git rm ~ステージングエリア(インデックス)のファイル削除~
ローカルリポジトリの操作git commit ~blobやtreeなどをまとめたcommitを作成~
git merge ~指定したブランチの内容を取り込み新しいcommitを作成~
git rebase ~commitの履歴の整理~
git cherry-pic ~特定のcommitの変更内容だけを取り込む~
git cat-file ~リポジトリのオブジェクト(commit,tree,blob)の内容表示~
git revert ~指定したcommitを取り消すcommitを作成~
commitのエイリアスなどgit branch ~commitツリーの枝(ブランチ)を作成~
git tag ~リリースなどのタイミングで特定のcommitに名前を付ける~
git stash ~commitを作成する前の変更内容を一時保存~
commitの内容をステージングエリアや作業ディレクトリに反映git checkout ~commitをステージングエリアと作業ディレクトリに展開~
git reset ~HEADの位置やステージングエリアと作業ディレクトリの内容を変更~
リモートリポジトリとのやり取りgit clone ~リモートリポジトリからローカルリポジトリ作成~
git fetch ~リモートリポジトリのブランチをローカルリポジトリに反映~
git pull ~git fetchとgit mergeを同時に行う~
git push ~ローカルリポジトリのブランチをリモートリポジトリに反映~