原文:https://my.oschina.net/zlLeaf/blog/197740
一、关于.gitignore 和 excludes
这两个文件的只针对尚未提交到配置库的文件才起作用。而对于已经提交的文件是不起作用的。
由此可见,这两个文件的初衷是用于排除不希望上传入库的文件。像编译产生的临时文件等。
但是,我们经常有这样一种情况。
有个文件,我们必须入库,大家一起共享,但是呢。每个人本地的配置又是因自己本地的环境而异。这样的话,这个文件就很崩溃了。你要入库,通过.gitignore和excludes都不起作用。每次git status都会提示你修改,你又好上传。
对于这种情况,应该使用下面的命令:
git update-index --assume-unchanged FILENAME
这样,每个人,从库上取代码后,在自己本地都要执行一下上面的这个命令。这样,以后,你这个文件的修改,git 都会帮你忽略掉。
当然,哪一天,你希望你的修改要提交入库,那你也必须手动修改一下 这个文件的标志位:
git update-index --no-assume-unchanged FILENAME
所以。
我们总结一下,总的流程:还是像你平常一样,需要入库,全部commit 提交,push。然后,由于这个文件你本地的配置跟别人不一样,你需要修改它,但不需要入库与别人共享。那么你就执行上面的 git update-index --assume-unchanged 命令来忽略你本地对它的修改。