git ls-files [options] 顯示知足必定條件的文件.options 用於指定條件.git
-c,--cached 顯示已經存在暫存區中的文件(默認)shell
-d, --deleted 顯示已經被工做區刪除,但仍存在於暫存區中的文件.spa
-m, --modified 顯示已經被工做區修改,而且未添加到暫存區中的問價code
-o, --others 顯示其餘文件,包括: 未被追蹤,被忽略的文件.it
-s, --stage 等同於 -c,只不過會顯示更多的信息,包括暫存區的編號等.io
$ git ls-files --stage 讀寫模式 blob object SHA1 值 暫存區編號 文件名 100644 e965047ad7c57865823c7d992b1d046ea66edf78 0 Hello 100644 c4bf48fba3925c57fb6bb17a97fe551186fd7367 3 README 100644 c4bf48fba3925c57fb6bb17a97fe551186fd7367 1 ReadMe 100644 c4bf48fba3925c57fb6bb17a97fe551186fd7367 2 readme # 當暫存區編號不爲 0 時,代表該文件自動合併失敗,其中 # 編號爲1的是衝突文件修改以前的版本,即衝突雙方共同的祖先版本. # 編號爲2的是衝突文件在當前分支中修改的版本. # 編號爲3的是衝突文件在合併提交中修改的版本
-u --unmerged 顯示未被合併的文件,即自動合併失敗的文件.class
-z 在輸出後追加 '\0' 字節,如:object
$ git ls-files | od -A n -t c R E A D M E \n R e a d M e \n r e a d m e \n $ git ls-files -z | od -A n -t c R E A D M E \0 R e a d M e \0 r e a d m e \0
man git-ls-files 查看狀況:EXCLUDE PATTERNS 節與上面列出的選項以外的選項未看. file