我不明白 git rm --cached
之间的区别和 git update-index --assume-unchanged
.
我知道 git rm --cached <file>
将从暂存区中删除一个文件。
而且,我知道 git update-index --assume-unchanged <file>
也这样做。
我还在 SO 上看到这两个命令都作为对类似问题的建议提供。
这两个命令是否有其他影响使它们不同?
最佳答案
命令
git rm --cached <file>
用于取消跟踪 Git 分支中的文件。此命令将从暂存区中删除文件
,并且还将在您下次提交时从存储库中删除该文件。
命令
git update-index --assume-unchanged <file>
也会使文件
从暂存区消失。但是,此命令不同,因为它告诉 Git 仅暂时忽略对文件
所做的任何更改。因此,当您提交文件时,假设它已经存在,它将保留为存储库的一部分。当你想让 Git 再次看到对 file
所做的更改时,你可以运行这个:
git update-index --no-assume-unchanged <file>
如果您之前运行 assume-unchanged
时文件存在,这会将文件返回到暂存区。
这是一个link对于 git rm --cached
,这是一个 link对于 git update-index --assume-unchanged
。
关于git - `git rm --cached` 和 `git update-index --assume-unchanged` 之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33428702/