Git 忽略已经提交的文件

有时候因为疏忽大意,没添加 .gitignore 就提交了,甚至推送到远程了,那么再想忽略提交怎么办呢?

常规方案

下面是网上流行的解决方案:

  1. 首先修改 .gitignore 文件,添加要忽略的
  2. 然后执行 git rm --cached <file> 删除跟踪记录
  3. 然后 git add <ignore> 暂存忽略文件的修改。
  4. 最后 git commit -m ""就好啦。

其中第二步也可替换为

git rm -r --cached . # 取消所有文件的跟踪
git add . # 重新跟踪所有文件

理论上这样是没问题的。但是实际上就不同了。

GUI 的坑

如果上边的某些步骤,例如第四步,你让 GUI 客户端代劳了,那么就很容易发生诡异的事情。在 commit 之后,如果再次修改被忽略的文件,会发现这东西居然又被重新跟踪了,简直阴魂不散。

解决方案也很简单,一定要用 git bash 命令行操作,不要偷懒用 GUI。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • git branch 查看本地所有分支 git status 查看当前状态 git commit 提交 git b...
    猿万阅读 10,531评论 1 45
  • 1,查看所有远程分支:%git branch -r 2, 拉取远程分支并创建本地分支git checkout -...
    will666阅读 6,278评论 0 18
  • 人活世间如舟行水上,过往痕迹被水吮吸殆尽,或邀山色共饮,就是一种尽兴。
    曼曼冰冰阅读 1,157评论 1 0
  • 今日感恩 非常感谢今天的客户,为我留下信息,信任我 感谢得到的终身学习,我会以此为始,改善自我,终身学习,加油!
    让风吹过阅读 793评论 0 0
  • 2017年可能是很水逆的一年,两年多的感情say goodbye,工作也就这样凑合,朋友越来越少,遇到了他。 正在...
    悲欢素阅读 1,488评论 0 0