`git rm --cached`和`git update-index --assume-unchanged`之间的区别?

时间:2015-10-30 04:32:46

标签: git caching git-rm

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

我知道git rm --cached <file>会从暂存区域删除文件。

而且,我知道git update-index --assume-unchanged <file>也会这样做。

我也看到这两个命令都是针对类似问题提出的。

这两个命令中的任何一个是否会产生另一种影响,使它们不同?

1 个答案:

答案 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 linkgit update-index --assume-unchangedlink