说我的项目文件夹中有以下文件:
a.txt
b.txt
c.txt
d.txt
e.txt
f.txt
现在我已经对文件执行了以下操作:
git add a.txt b.txt c.txt d.txt
git commit -m "added a.txt" a.txt
git commit -m "added b.txt" b.txt
现在,当我这样做
git status
没有列出文件 a.txt,b.txt 。
为什么Git状态现在不显示本地存储库中的这些 a.txt,b.txt 文件?
答案 0 :(得分:1)
git status
显示修订历史记录中未包含的文件。
提交后,它们现在已经成为您历史记录的一部分(作为提交)。
显示索引文件和索引文件之间有差异的路径 当前HEAD提交
回顾我的话;提交后,您的更改将包含在HEAD中(作为最后一次提交)。所以你什么也看不到。
答案 1 :(得分:1)
当您要求status
时,git将最后一次提交与索引和工作树进行比较,并列出差异。
在添加并提交 a.txt 和 b.txt 之后,它们之间没有没有差异。现在,它们在所有三个地方都相同。这正是添加和提交手段的内容。因此git status
对他们保持沉默。
如果您想知道最新提交或索引中包含的文件,请使用ls-tree
或ls-files
。但是通常,在这种情况下,使用 a.txt 和 b.txt 的规则是:您可以在工作树中查看 ,而git status
并没有提及它们,并且您也没有告诉git忽略它们,因此您知道他们是在没有被告知的情况下被提交的。
答案 2 :(得分:0)
如documentation of git status所述,“ git status
显示索引文件与当前HEAD提交之间具有差异的路径”。
这意味着,如果您已经提交了文件a.txt
和b.txt
,它们现在在下面,并且在{ {1}},因为它是最新提交。因此,这些文件与本地存储库之间没有任何区别,并且您不应该期望它们在运行b.txt
时出现。