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中删除即可

posted @ 2018-05-10 16:54  zhangce  阅读(7462)  评论(2编辑  收藏  举报