Hun*_*nle 11 git caching git-rm
我不明白之间的差别git rm --cached
和git update-index --assume-unchanged
.
我知道这git rm --cached <file>
将从暂存区域中删除一个文件.
而且,我知道这git update-index --assume-unchanged <file>
也是这样.
我也看到这两个命令作为SO的类似问题的建议.
这两个命令中的任何一个是否会产生另一种影响?
命令
git rm --cached <file>
Run Code Online (Sandbox Code Playgroud)
用于解开Git分支中的文件.此命令将删除file
从分段区域也将从您提交的资料库下一次删除文件.
命令
git update-index --assume-unchanged <file>
Run Code Online (Sandbox Code Playgroud)
也将使file
从临时区域消失.但是,这个命令是不同的,因为它告诉Git只是暂时忽略对其所做的任何更改file
.因此,当您提交文件时,它将保留为存储库的一部分,假设它已经存在.当你希望Git再次看到对它做出的更改file
时,你可以运行这个:
git update-index --no-assume-unchanged <file>
Run Code Online (Sandbox Code Playgroud)
这将把文件返回到暂存区域,如果它在您assume-unchanged
之前运行时存在.
这里是一个链接的git rm --cached
,这里是一个链接的git update-index --assume-unchanged
.