git忽略已经被提交的文件,以及如何恢复追踪
问题描述
之前在提交代码时,.gitignore
没有填写完整,导致idea编辑器的配置文件夹.idea
被提交了
然后每次运行本地项目,都会在.idea
文件夹下生成一堆文件,这时发现问题,将.idea/
填写到.gitignore
规则中,但是运行git status
的时候,依然能看到这些文件
解决办法
正确的做法应该是:git rm --cached .idea -r
,然后更新 .gitignore
忽略掉目标文件,最后 git commit -m "We really don't want Git to track this anymore!"
这时问题已经解决
但问题是:为什么我增加了.gitignore里的规则却没有效果?
这时因为.gitignore文件只能作用于 Untracked Files,也就是那些从来没有被 Git 记录过的文件(自添加以后,从未 add 及 commit 过的文件)。
而我的.idea下的文件都已经被git记录过,因此.ignore对他们完全无效,这时将文件夹的追踪从Git数据库中删除,再更新.gitignore,然后提交即可
如何恢复对某个文件/文件夹的追踪呢
将该文件/文件夹的规则从.gitignore中删除即可
======================================= END ========================================