为什么增加了.gitignore里的规则却没有效果

git 2018-07-08 浏览(2696 评论(0
那是因为.gitignore文件只能作用于未跟踪的文件( Untracked Files ),也就是从来没有被Git记录过的文件。所以要先从Git索引中删除对改文件的追踪,才能使.gitignore文件生效。而删除文件的追踪是git rm,这种做法会将本地的物理文件一并删除。如果想要删除追踪状态而非物理文件,可以使用:
vim .gitignore
git rm --cached 文件名
git add .
git commit -m 'update .gitignore'


现象:

在.gitignore添加file1文件,以过滤该文件,但是通过git status查看仍显示file1文件的状态。

原因:

在git库中已存在了这个文件,之前push提交过该文件。

.gitignore文件只对还没有加入版本管理的文件起作用,如果之前已经用git把这些文件纳入了版本库,就不起作用了

解决:

需要在git库中删除该文件,并更新。

然后再次git status查看状态,file1文件不再显示状态。

打赏

如果此文对你有所帮助,请随意打赏鼓励作者^_^

黄信强博客