我不明白git rm --cached
和git update-index --assume-unchanged
之间的区别。
我知道git rm --cached <file>
会从暂存区域删除文件。
而且,我知道git update-index --assume-unchanged <file>
也会这样做。
我也看到这两个命令都是针对类似问题提出的。
这两个命令中的任何一个是否会产生另一种影响,使它们不同?
答案 0 :(得分:6)
命令
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
link,git update-index --assume-unchanged
为link。