git 忽略已经被提交的文件

🌙
手机阅读
本文目录结构
axihe

场景:项目中的某个文件(比如 JB 家浏览器的 .idea编辑器相关文件)已经被 commit 了,并 push 到远程服务器 server 了,这时发现.idea不应该被 git 管理,同步到团队每个开发人员那里;

这时在.gitignore文件里面添加*.idea已经不起作用了,因为.gitignore只对从来没有 commit 过的文件起作用。

每次运行本地项目,都会在.idea文件夹下生成一堆文件,运行git status的时候,依然能看到这些文件

这时候就需要处理了,不是单纯的.gitignore就能解决的

第一步,为避免冲突需要先同步下远程仓库

git pull

第二步,在本地项目目录下删除追踪状态

git rm -r --cached .

因为.gitignore文件只能作用于 Untracked Files,也就是那些从来没有被 Git 记录过的文件(自添加以后,从未 add 及 commit 过的文件), 这么做就是把所有的文件追踪初始化;

第三步,再次 add 所有文件

这一步之前,需要检查.gitignore 是否正确忽略掉目标文件了,如果没问题;

然后输入以下命令,再次将项目中所有文件添加到本地仓库缓存中

git add .

不要用git add A来添加

第四步,添加 commit,提交到远程库

git commit -m "filter new files"
git push

如何恢复对某个文件 / 文件夹的追踪呢

只需要将该文件 / 文件夹的规则从`.gitignore 中删除即可


AXIHE / 精选资源

浏览全部教程

面试题

学习网站

前端培训
自己甄别

前端书籍

关于朱安邦

我叫 朱安邦,阿西河的站长,在杭州。

以前是一名平面设计师,后来开始接接触前端开发,主要研究前端技术中的JS方向。

业余时间我喜欢分享和交流自己的技术,欢迎大家关注我的 Bilibili 和抖音。

关注我: Github / 知乎

如果你加我的私人微信,麻烦写上您的 称呼,所在地区,职业,方便我备注,谢谢


本站的微信公众号

阿西河前端教程

Anbang

安邦的私人微信

微信号: yaolushan

Anbang

Bilibili(B站)

朱安邦

Anbang