忽略已提交到 Git 存储库的文件

如果你已经将文件添加到 Git 存储库并且现在想要停止跟踪它 (以便在将来的提交中不会出现它),你可以将其从索引中删除:

git rm --cached <file>

这将从存储库中删除该文件,并防止 Git 跟踪进一步的更改。--cached 选项将确保文件未被物理删除。

请注意,以前添加的文件内容仍将通过 Git 历史记录显示。

请记住,如果从索引中删除文件后其他人从存储库中提取,则会以物理方式删除其副本

你可以让 Git 假装文件的工作目录版本是最新的,并使用“ skip worktree ”位读取索引版本(因此忽略其中的更改) :

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>