我需要一个展示当前所有位于暂存区(也就是索引?)中文件的 Git 命令。
首先,我从索引中移除了所有文件:
$ git rm --cached *
rm 'newfile'
rm 'os-list.txt'
rm 'remote_stuff'
rm 'removethis'
现在我检查索引中的文件:
$ git ls-files --stage
100644 07e6e472cc75fafa944e2a6d4b0f101bc476c060 0 .gitignore
你只能看到 .gitignore 文件被保留了。
然后我们更改了 newfile 的内容。接下来我们将 newfile 加入了索引。
$ git add newfile
检查状态:
$ git status -s
M newfile
D os-list.txt
D remote_stuff
D removethis
?? os-list.txt
?? remote_stuff
?? removethis
我们可以看到,新文件现在已经在索引中。
现在我们期望在提交文件时暂存区为空。
$ git commit -m "TEST333"
[master 0adab53] TEST333
4 files changed, 1 insertion(+), 13 deletions(-)
delete mode 100644 os-list.txt
delete mode 100644 remote_stuff
delete mode 100644 removethis
即使提交了,我们仍然可以看到newfile仍在暂存区:
$ git ls-files --stage
100644 07e6e472cc75fafa944e2a6d4b0f101bc476c060 0 .gitignore
100644 76abab2928bdd7dfe157109666023bb0c5e4c465 0 newfile
但如果我们检查状态,会发现暂存区中没有任何内容:
$ git status -s
?? os-list.txt
?? remote_stuff
?? removethis
我需要的是显示暂存区中所有文件的命令。命令git ls-files --stage
返回了我不理解的输出。
谢谢!