说明:
.gitignore这个文件里的代码是从上往下执行的
如果你前面说要忽略所有文件*,后面又说不忽略所有文件!*,那么最终的效果是不忽略所有文件,也就是说后面的命令会覆盖签名的命令
如果是写/Entertainment/,最前面的/表示只匹配当前目录,所以看到下面的子目录的Entertainment文件夹并没有被忽略
如果是Entertainment/,则忽略根目录中所有满足含Entertainment的文件夹(包括子目录)
语法如下:
#忽略test文件夹及文件夹下文件
test#忽略以.exe结尾的文件
*.exe#忽略*.a和*.b文件 *.[ab]#忽略*.b和*.B文件,code.b除外*.[bB]!code.b#忽略test文件和test目录test#忽略所有test目录
test/#只忽略test文件,不忽略test目录test!test/#只忽略当前目录下的test文件和目录,子目录的test不在忽略范围内/test
# Compiled source #
###################
*.com
*.class
*.dll
*.exe
*.o
*.so# Packages #
############
# it's better to unpack these files and commit the raw source
# git has its own built in compression methods
*.7z
*.dmg
*.gz
*.iso
*.jar
*.rar
*.tar
*.zip# Logs and databases #
######################
*.log
*.sql
*.sqlite# OS generated files #
######################
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db
在.gitignore中添加如下代码即可
# Ignore all
*# Unignore all with extensions
!*.*# Unignore all dirs
!*/
但是当我还想忽略烦人的.DS_Store文件时我又遇到了问题,因为上面的规则这个文件时有后缀的所以也会被加进去,没办法只能曲线救国,只设置你不想不忽略的文件。
参考资料:
gitignore官方文档