git ls文件--即使在提交之后,阶段也会显示文件
我在使用git命令,该命令显示当前驻留在临时区域内的所有文件(是否与索引相同?) 首先,我从索引中删除了所有文件:git ls文件--即使在提交之后,阶段也会显示文件,git,indexing,stage,Git,Indexing,Stage,我在使用git命令,该命令显示当前驻留在临时区域内的所有文件(是否与索引相同?) 首先,我从索引中删除了所有文件: $ git rm --cached * rm 'newfile' rm 'os-list.txt' rm 'remote_stuff' rm 'removethis' 现在我检查索引中的文件: $ git ls-files --stage 100644 07e6e472cc75fafa944e2a6d4b0f101bc476c060 0 .gitignore 您只能
$ git rm --cached *
rm 'newfile'
rm 'os-list.txt'
rm 'remote_stuff'
rm 'removethis'
现在我检查索引中的文件:
$ git ls-files --stage
100644 07e6e472cc75fafa944e2a6d4b0f101bc476c060 0 .gitignore
您只能看到剩下的.gitignore文件
然后我们更改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
但即使在提交之后,我们仍看到新文件仍在暂存区:
$ 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
100644 07e6e472cc75fafa944e2a6d4b0f101bc476c060 0 .gitignore
100644 76abab2928bdd7dfe157109666023bb0c5e4c465 0 newfile
$ git status -s
?? os-list.txt
?? remote_stuff
?? removethis
嗯,我想要的是显示暂存区中所有文件的命令。命令gitls files--stage返回的输出我不理解
谢谢
现在,我们希望提交文件时暂存区域为空
$ 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
那是你的错误。别指望这样
。。。如果我们检查状态,我们会看到暂存区没有任何东西
git status
不显示索引/暂存区域中的内容。相反,对于每个文件,它会将索引/暂存区域中的内容与以下内容进行比较:
commit中的内容:如果不同,则该文件为“暂存提交”;及HEAD
- 工作树中的内容:如果不同,则文件“不准备提交”
git status
不会显示任何内容。当文件F的某些副本不同时,git status
会告诉您有关文件F的信息。这里就是它的全部内容
索引/暂存区域在任何时候都保存2您计划(或Git计划)在下一次提交中放置的内容。这就是为什么在更改工作树副本后必须对其进行更新:以便Git计划在下一次提交中放入的内容与工作树副本匹配
1从技术上讲,它最多有三份,因为您可能会丢失一份或两份。当且仅当索引中有一个文件副本时,才会跟踪该文件(即使该文件位于
标题中
提交,也仅当该文件也位于索引中时才会跟踪该文件)。如果工作树文件存在且不在索引中,则不跟踪该文件。(因此,在git rm--cached
之后,HEAD
和工作树中的文件将同时被删除和取消跟踪。)
2参见脚注1,然后参见冲突合并案例。在冲突合并期间,索引最多可保存每个文件的三个副本:合并基副本、--ours
副本和--theres
副本。如果添加头
副本和工作树副本,这意味着在冲突合并期间,任何一个文件最多有五个活动副本