我总结了以下标准:
Committed =存储在 .git 目录中。
修改=自签出后更改,但未在暂存区域中更改。
Staged =已修改并放入暂存区域。
Tracked = ???
未跟踪= ???
但我不知道如何将文件定义为已跟踪或未跟踪。我想必须有某种跟踪文件集来搜索。虽然看起来如此自然,但是新创建的文件被Git视为未跟踪。
感谢。
答案 0 :(得分:1)
按流行用法跟踪,与提交的内容同义。
未跟踪,是尚未提交的内容。例如,刚添加到工作目录的文件未跟踪。而且,根据流行的定义,即使尚未提交,即使添加到索引/暂存的内容也被认为是未跟踪的。
答案 1 :(得分:0)
我不确定是否有正式的定义,但是如果你认为跟踪是在HEAD中,那么这意味着你在之前的提交中跟踪了该文件。如果您考虑跟踪的文件是否在索引中,则只要在索引中添加或删除文件就会跟踪该文件。
以下是您在HEAD中查看当前正在跟踪的所有文件的方法
git ls-tree HEAD^{tree} -r
如果您认为跟踪仅需要在索引中,您可以查看跟踪文件
git ls-files