修改.gitignore文件为什么不生效
大家在用git做版本控制的时候,是不是会经常遇到这种情况:明明在.gitignore文件中已经标明忽略的文件目录下的文件,当我想git push的时候还会出现在push的目录中,原因是,这个文件或者目录已经被你提交(git commit)过,而git本身会有缓存,所以即使你在.gitignore文件中加入忽略的文件名或者目录,也是没有效果的,需要清理git本地缓存,命令如下:
清理缓存:
git rm -r --cached .
提交修改:
git add .
git commit -m 'update .gitignore'
这样就OK了。
Git中的忽略规则说明
一般情况下,.gitignore文件中,一行代表一个匹配规则
# 此为注释 – 将被 Git 忽略
*.html # 忽略所有 .html 结尾的文件
!xxx.html # 但 xxx.html 除外
/lib.js # 仅仅忽略项目根目录下的 lib 文件,不包括 dir/lib.js
build/ # 忽略 build/ 目录下的所有文件
doc/*.txt # 会忽略 doc/notes.txt 但不包括 doc/subdir/*.txt