在 .gitignore 中添加了某个文件后不起作用是怎么回事?
小伙伴们有没有遇到过这样的问题,明明将文件加入到了 .gitignore
文件中,但是还是会受 git
的管理。接下来,我们从以下两个方面来检查是否出现了什么问题。
-
首先检查一下 .gitignore 文件的书写是不是规范,正确。可以参考这篇文章 Git 中 .gitignore 简单介绍
-
.gitignore
只能忽略那些原来没有被track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。解决方法就是先把本地缓存删除(改变成未track状态),然后再提交:
git rm -r --cached . git add . git commit -m 'update .gitignore'
注意:
git rm -r --cached .
方法调用要慎重,因为该命令会删除暂存区或分支上的文件, 但本地又需要使用, 只是不希望这个文件被版本控制。结果就是自己本地有完整的文件,但是上传到远程仓库其他同事pull之后崩溃了
如果只想让某个文件或文件夹处于不被未 track 的状态,可以使用下面的命令
git rm -r --cached 文件夹(或文件路径/文件)
然后再将这个文件夹或文件加入到
.gitignore
文件中,将.gitignore
再次commit
之后,那个文件夹或文件再发生变化,git status
中也不会有它的信息了。完