Git . gitignore不生效
背景
最近在使用intellJ新建项目时,发现每次修改后,都有些文件如workspace.xml,*.xml之类的文件也被修改了,但这些修改的文件我是不需要上传到远程仓库的。后来新建了.gitignore文件发现没有生效。
原因
.gitignore只能忽略那些原来没有被追踪的文件。我在新建.gitignore文件之前,已经将workspace.xml改动的地方提交了,那.gitignore对已提交的那些文件就不会起作用了。
解决
把本地缓存删除,再提交。
$ git rm -r --cached .
$ git add .
如果从远程checkout 多个本地分支,并且每个分支都进行了提交,那每个分支都要执行上面的命令。
参考文档:
https://segmentfault.com/a/1190000009765563