.gitignore文件不起作用

.gitignore文件的作用就是让git忽略一些我们不想追踪的文件,比如build文件以及一些IDE产生的中间文件,一般情况下都会按照我们想的方式工作,但有时候却会出现将要忽略的文件加入到.gitignore时,不起作用的情况,下面具体分析并给出解决办法:

** 当你在git库中编写某些代码文件,并已经stage该文件之后,你发现某个文件你不想用了,想在以后的改变中忽略它。然后你在你的.gitignore文件中加入该文件名,结果它并没有被忽略。当你从远程代码库中git clone一份代码中本地并做些修改,build,然后通过git add .**等stage了这些改变,当你通过git status 查看状态时发现不小心把build/文件夹给add进来了。于是你在.gitignore文件中加入了bild/,但发现并不起作用。 **

** 根本原因 **
.gitignore文件只是ignore没有被staged(cached)文件,对于已经被staged文件,加入ignore文件时一定要从staged移除。下面是来自github的一段话:

If you already have a file checked in, and you want to ignore it, Git will not ignore the file if you add a rule later. In those cases, you must untrack the file first, by running the following command in your terminal: $ git rm --cached

因此,要想用gitignore忽略文件,必须先把它们从staged中移除:commit你已有的改变,保存当前的工作。git rm --cached file/path/to/be/ignored。git add .git commit -m "fixed untracked files"

推荐阅读更多精彩内容

  • 原文地址传送门:http://t.hengwei.me/post/gitignore%E6%96%87%E4%BB...
    willheng阅读 15,357评论 2 9
  • 输入 y ,创建 git_hug 目录No githug directory found, do you wish...
    风花花阅读 726评论 0 4
  • 在使用Git管理代码的过程中,可以修改.gitignore文件中的标示的方法来忽略开发者想忽略掉的文件或目录,如果...
    崔可一阅读 6,052评论 4 5
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 70,584评论 12 116
  • 這是一個非常真實的評測,各自評估嘍~ 在美國住了十幾年,在婦科診所工作了3年,第一次生BB,對於醫院的選擇也是走我...
    oo琦阅读 113评论 0 0