git忽略已经被提交的文件

现在努力的你,未来的事情谁说得清楚呢? 但你不努力,未来是怎样大概都知道了。

问题起因

有时候我们会遇到这样的场景,失误或是不小心将IDE的一些配置文件(如.idea文件夹)推送到了git仓库.而且你的同事拉取了代码,那么无论他们修改配置文件还是修复路径,他们:

  • 要么提交上去,谁拉代码谁冲突

  • 要么不提,每次提交的时候小心翼翼不把这些配置文件提上去

为什么.gitignore文件不管用

也许这时你马上会想,”shit,最好马上把这些文件添加到.gitignore”.然后你就做了,结果坑爹的发现:那些已经被添加到仓库的文件,只要修改就会出现在被修改的列表里,根本不管用

这是因为.gitignore的设计就是为了那些没有被追踪的文件(即不在仓库中),如果你将一个已经被追踪的文件添加到.gitignore文件(或者使用add -f强制添加),这个文件还是会像工程里的其他文件一样被追踪的

正确的姿势

  • 将要忽略的文件或者文件夹加入 .gitignore 文件
  • 停止追踪文件或者文件夹
    1
    git rm --cached log -r // log文件夹
  • 提交