在项目中有些配置文件不需要提交,但是有同学在后面开发中发现在.igonore文件中无论如何都无法忽略某些文件的提交。原因在这里:
已经维护起来的文件,即使加上了gitignore,也无济于事。—-
那么如何解决呢?方式如下
git update-index --assume-unchanged 要忽略的文件夹/文件夹下文件名
比如我要忽略项目下.idea文件夹下所有xml文件,idea下都是xml文件(我用的webstorm):
git update-index --assume-unchanged .idea/*.xml
如果要重新恢复提交,使用如下命令:
git update-index --assume-unchanged .idea/*.xml
这样每次提交就不会提交idea下的文件了。
但是在我执行了之后,我出现了以下问题:
git update-index --assume-unchanged .idea/*.xml
fatal:Unable to mark file .idea/compiler.xml
问题原因:
因为git除了区分大小写外,还要注意the full path and file name。
正确为:
$cd .idea
$git update-index --assume-unchanged .idea/*.xml