Git中无法忽略.idea等文件的问题解决
问题描述
明明在.gitignore中加入./idea文件夹,但是./idea文件夹下面的一些文件竟然还能被Commit:


每次提交的时候很不方便,并且对于一个有强迫症的程序员来说,这简直太难受了。
问题原因
远程分支上存在这个文件导致即使本地将其添加到ignore中,这个文件还是不会被忽略。
解决办法
删除远程的,保留本地的。
进入到想要删除的文件夹的上一级 并打开Git Bash,键入:
git rm --cached file_path
git commit -m 'delete some remote files'
git push
当目标是文件夹时,git rm命令加上-r参数,这与Linux命令几近一样。
此时结果:

清清爽爽!
解释 git rm
git rm 不加--cached的时候:
git rm file_path
表示既删除了本地的文件,又删除了远程的文件。
而加了 --cached 表示:只删除暂存区和远程分支上的文件,但本地的保留,此时ignore生效,这些本地文件就会git忽略了。
Tips
这会将远程仓库中的文件也删除掉,但.idea这些文件肯定不会影响项目的发布啥的,所以,尽管删吧。
<转自:> https://zhuanlan.zhihu.com/p/352364554
加:
多人开发时,会出现明明在gitignore中忽略了.idea文件夹,但是提交时仍旧会出现.idea内文件变动的情况
原因
.idea已经被git跟踪,之后再加入.gitignore后是没有作用的
解决办法
清除.idea的git缓存
git rm -r --cached .idea
.gitignore中添加.idea