.gitignore文件不起作用

原文地址传送门:http://t.hengwei.me/post/gitignore%E6%96%87%E4%BB%B6%E4%B8%8D%E8%B5%B7%E4%BD%9C%E7%94%A8.html

当我们用git时常常会习惯把我们不想上传到远程代码库中的一些本地文件(夹)放在一个叫做.gitignore的文件中,例如常见的本地build文件夹,一些IDE如Intellig,Eclipse的项目管理文件,但有些时候我们会遇到这样的问题:放入gitignore文件夹中的文件却还是被git index, 当你通过git status
显示文件状态时,他们并没有被忽略。
问题场景
当你在git库中编写某些代码文件,并已经stage该文件之后,你发现某个文件你不想用了,想在以后的改变中忽略它。然后你再你的.gitignore文件中加入该文件名,结果它并没有被忽略。
当你从远程代码库中git clone
一份代码中本地并做些修改,build,然后
通过git add .**等stage了这些改变,当你通过git status
查看状态时发现不小心把build/文件夹给add进来了。于是你在.gitignore文件中加入了build/,但发现并不起作用。

根本原因

**.gitignore文件只是ignore没有被staged(cached)文件,对于已经被staged文件,加入ignore文件时一定要先从staged移除。下面这段话来自github:
.gitignore文件不工作
因此,要想用gitignore忽略文件,必须先把它们从staged中移除:

commit你已有的改变,保存当前的工作。
git rm --cached file/path/to/be/ignored。
git add .
git commit -m "fixed untracked files"

引用
****[1].** gitignore-not-working[2]. ignoring file

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

推荐阅读更多精彩内容

  • .gitignore文件的作用就是让git忽略一些我们不想追踪的文件,比如build文件以及一些IDE产生的中间文...
    幸运的小强本人阅读 2,755评论 1 0
  • 在使用Git管理代码的过程中,可以修改.gitignore文件中的标示的方法来忽略开发者想忽略掉的文件或目录,如果...
    崔可一阅读 12,949评论 4 6
  • 输入 y ,创建 git_hug 目录No githug directory found, do you wish...
    风花花阅读 1,971评论 0 4
  • 传说中的程序员节到了,课也到了最后一周,也是时候了。从今天开始要正式地开始找工作了,根据前段时间的浏览情况,选出了...
    敲代码的小铁匠阅读 467评论 0 0
  • 娱乐界的事……我一向很少关注,疯传了几日的乔任梁之死,我并没有太在意,乔任梁是谁?他为什么死?跟我关系真不大,但今...
    活着不易阅读 1,261评论 30 24