Git中无法忽略.idea等文件的问题解决

606 阅读1分钟

Git中无法忽略.idea等文件的问题解决

问题描述

明明在.gitignore中加入./idea文件夹,但是./idea文件夹下面的一些文件竟然还能被Commit:

image-20210223154356732

Image

每次提交的时候很不方便,并且对于一个有强迫症的程序员来说,这简直太难受了。

问题原因

远程分支上存在这个文件导致即使本地将其添加到ignore中,这个文件还是不会被忽略。

解决办法

删除远程的,保留本地的。

进入到想要删除的文件夹的上一级 并打开Git Bash,键入:

git rm --cached file_path
git commit -m 'delete some remote files'
git push

当目标是文件夹时,git rm命令加上-r参数,这与Linux命令几近一样。

此时结果:

Image

清清爽爽!

解释 git rm

git rm 不加--cached的时候:

git rm file_path

表示既删除了本地的文件,又删除了远程的文件。

而加了 --cached 表示:只删除暂存区和远程分支上的文件,但本地的保留,此时ignore生效,这些本地文件就会git忽略了。

Tips

这会将远程仓库中的文件也删除掉,但.idea这些文件肯定不会影响项目的发布啥的,所以,尽管删吧。