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