Git中.gitignore文件不起作用的解决以及Git中的忽略规则介绍

使用Git管理代码的过程中,可以修改.gitignore文件中的标示的方法来忽略开发者想忽略掉的文件或目录,如果没有.gitignore文件,可以自己手工创建。在.gitignore文件中的每一行保存一个匹配的规则例如:

*.a      # 忽略所有 .a 结尾的文件
!lib.a   # 但 lib.a 除外
/TODO    # 仅仅忽略当前目录下的 TODO 文件,不包括 其他目录下的/TODO
build/   # 忽略 build/ 目录下的所有文件
doc/*.txt# 会忽略 doc/notes.txt 但不包括doc/server/arch.txt


在想要忽略内容的目录下创建.gitgnore,编辑.gitignore文件,用git status查看状态,想要忽略的文件还是显示被追踪状态。原因是git忽略目录中,新建的文件在git中会有缓存,如果某些文件已经被提交到版本管理中,就算是在.gitignore中声明了忽略文件也是不起作用的,这时候我们就应该先把本地缓存删除,然后再进行git add,这样就不会追踪忽略的文件了。git清除本地缓存命令如下:

git rm -r --cached .
git add .
git commit -m '更新 .gitignore'
查了资料发现,想要.gitignore起作用,必须要在这些文件不在暂存区中才可以,.gitignore文件只是忽略没有被staged(cached)文件,对于已经被staged文件,加入ignore文件时一定要先从staged移除,才可以忽略。
赞赏


微信赞赏

支付宝赞赏

欢迎扫描关注