【发布时间】:2020-06-24 02:51:52
【问题描述】:
我正在使用 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 正在返回我不理解的输出。
谢谢!
【问题讨论】: