如果您已经将文件添加到Git存储库,并且现在想停止对其进行跟踪(以便以后的提交中不再显示该文件),则可以将其从索引中删除:
git rm --cached <file>
这将从存储库中删除文件,并防止Git跟踪进一步的更改。该--cached选项将确保该文件没有被物理删除。
请注意,文件的先前添加内容仍将通过Git历史记录可见。
请记住,如果从索引中删除文件后其他任何人从存储库中提取文件,那么他们的副本将被物理删除。
您可以让Git假装该文件的工作目录版本是最新的,并使用“跳过工作树”位读取索引版本(从而忽略其中的更改):
git update-index --skip-worktree <file>
写入不受此位影响,内容安全仍然是第一要务。您将永远不会失去宝贵的,被忽略的变化。另一方面,此位与隐藏冲突:要删除此位,请使用
git update-index --no-skip-worktree <file>
有时错误地建议您对Git撒谎,并假设该文件没有检查就保持不变。乍一看,它忽略了对该文件的任何进一步更改,而不将其从其索引中删除:
git update-index --assume-unchanged <file>
这将迫使git忽略文件中所做的任何更改(请注意,如果您对此文件进行任何更改或将其隐藏,则忽略的更改将丢失)
如果您希望git再次“关心”该文件,请运行以下命令:
git update-index --no-assume-unchanged <file>