【git】如何ignore一个文件的更改又保留其初始版本

参考:

https://compiledsuccessfully.dev/git-skip-worktree/

https://stackoverflow.com/questions/9794931/keep-file-in-a-git-repo-but-dont-track-changes

在处理私人的config文件的时候,经常会遇到标题中的问题

保留初始版本是为了给一个模板,但是应用的时候却要换成自己的config

gitignore并不能很好的解决,如果先track了一个文件,之后才ignore的话,那么他的更改git还是会发现。

一个自然的想法就是先push上去,然后加入ignore, 在rm --cache。遗憾的是,这样也算做noTrack,再push到remote repo的时候config文件还是会消失。

所以只有在本地操作index-tree了。目前有两种解决方式,还不清楚哪种更合适。

git update-index --assume-unchanged FILENAME

git update-index --skip-worktree FILENAME

解除状态用对应的

--no-assume-unchanged

--no-skip-worktree

原文地址:https://www.cnblogs.com/yesuuu/p/11308633.html