我在 Cygwin 上运行 git 2.17.0。
做一个git config --get-regexp color
向我展示
....
color.status.added bold yellow
color.status.changed red
color.status.untracked white
color.status.branch bold blue
color.status.deleted yellow
color.status.header bold white
....
color.branch.local yellow
....
但是当我执行 a 时git status
,“已修改”和“已删除”文件以相同的颜色(红色)显示。另请注意,在我的终端配置中,“黄色”是定义为与“红色”明显不同的颜色,正如我在执行 a 时所看到的那样git branch
,它以正确的颜色显示了本地分支。
我最好的猜测是 git 将存储库中的一个文件视为我已删除的文件,由于某种原因作为“修改”文件,但后来我想知道 color.status.deleted 设置应该意味着什么。
有人对此有解释吗?其他人可以重现这个吗?
答案1
有两种不同类型的已删除git 状态中的文件。
假设我的 git 存储库中有一个定期提交的文件,名为“deleteme”。我可以做两件事:
我可以
rm deleteme
。此时,从 git 的角度来看,该文件被简单地修改了,所以它显示在红色的。~/Wip/sample $ rm deleteme ~/Wip/sample $ git status Sul branch master Changes not staged for commit: (use "git add/rm <file>..." to update what will be committed) (use "git checkout -- <file>..." to discard changes in working directory) deleted: deleteme
我可以做
git rm deleteme
(或rm deleteme; git add deleteme
)。此时文件已被删除,并且其删除内容已在索引中,准备提交。从 git pov 来看,这个文件是一个“已删除”文件,因此它显示在黄色的。~/Wip/sample $ git rm deleteme ~/Wip/sample $ git status Sul branch master Changes to be committed: (use "git reset HEAD <file>..." to unstage) deleted: deleteme
PS 显然,在我的解释中,颜色与您的配置相同。