我不明白 和 之间的git rm --cached
区别git update-index --assume-unchanged
。
我知道这git rm --cached <file>
将从暂存区中删除一个文件。
而且,我知道这git update-index --assume-unchanged <file>
也是如此。
我还看到这两个命令都作为对 SO 上类似问题的建议提供。
这两个命令中的任何一个是否有其他影响使它们不同?
命令
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