11

我不明白 和 之间的git rm --cached区别git update-index --assume-unchanged

我知道这git rm --cached <file>将从暂存区中删除一个文件。

而且,我知道这git update-index --assume-unchanged <file>也是如此。

我还看到这两个命令都作为对 SO 上类似问题的建议提供。

这两个命令中的任何一个是否有其他影响使它们不同?

4

1 回答 1

8

命令

git rm --cached <file>

用于取消跟踪 Git 分支中的文件。此命令将从file暂存区域中删除,并且还会在您下次提交时从存储库中删除文件。

命令

git update-index --assume-unchanged <file>

也会使file从暂存区消失。但是,此命令不同,因为它告诉 Git 仅暂时忽略对file. 因此,当您提交文件时,假设它已经存在,它将仍然是存储库的一部分。当您希望 Git 再次看到对 所做的更改file时,可以运行以下命令:

git update-index --no-assume-unchanged <file>

这会将文件返回到暂存区域,如果您assume-unchanged之前运行时它在那里。

这是 的链接git rm --cached这里是的链接git update-index --assume-unchanged

于 2015-10-30T04:42:38.523 回答