解决Git中.gitignore文件不起作用
在填写忽略文件的过程中,.gitignore中已经标明忽略的文件目录下的文件,但git push的时候还会出现在push的目录中,原因是因为git忽略目录中,新建的文件在git中会有缓存,如果某些文件已经被纳入了版本管理中,就算是在.gitignore中已经声明了忽略路径也是不起作用的,这时候我们就应该先把本地缓存删除,然后再进行git的push,这样就不会出现忽略的文件了。git清除本地缓存命令如下:
git
rm
-r --cached .
git add .
git commit -m
'update .gitignore'
配置文件示例
# 忽略 .a 文件
*.a
但否定忽略 lib.a, 尽管已经在前面忽略了 .a 文件
!lib.a
仅在当前目录下忽略 TODO 文件, 但不包括子目录下的 subdir/TODO
/TODO
忽略 build/ 文件夹下的所有文件
build/
忽略 doc/notes.txt, 不包括 doc/server/arch.txt
doc/*.txt
忽略所有的 .pdf 文件 在 doc/ directory 下的
doc/**/*.pdf
语法规范(熟悉正则很容易理解)
空行或是以#开头的行即注释行将被忽略;
以斜杠 “/” 结尾表示目录;
以星号 “*” 通配多个字符;
以问号 “?” 通配单个字符
以方括号 “[]” 包含单个字符的匹配列表;
以叹号 “!” 表示不忽略(跟踪)匹配到的文件或目录;
可以在前面添加斜杠 “/” 来避免递归,下面的例子中可以很明白的看出来与下一条的区别。