前言
Mac的每个文件夹默认都有一个隐藏的.DS_Store文件, 这个文件保存了文件夹自定义属性, 如图标位置或背景色等.虽然这个文件默认是隐藏的, 但是我们在使用git时, 如果不主动去在.gitignore中配置, 默认也会把这个隐藏的.DS_Store文件push到git上去, 每个文件夹下都有, 看起来很不美观.
.gitignore
我们一般在执行git操作时, 有时候不想把所有的文件都push上去, 例如
- Java编译产生的class文件
- 敏感信息的配置文件
- 操作系统自动生成的文件, 例如.DS_Store等
- 或者是我们就是不想某个文件push上去
这个时候我们只需要在.gitignore中写入一些适当的规则, 就可以实现上面的效果
.gitignore 语法规范
- 空行或是以#开头的行即注释行将被忽略
- 以斜杠 “/” 结尾表示目录
- 以星号 “*” 通配多个字符
- 以问号 “?” 通配单个字符
- 以方括号 “[]” 包含单个字符的匹配列表
- 以叹号 “!” 表示不忽略(跟踪)匹配到的文件或目录
示例
#忽略当前文件夹下的.DS_Store文件
.DS_Store
#忽略所有子目录下的.DS_Store
*/.DS_Store
#忽略所有的.a文件
*.a
#否定忽略test.a文件, 即时前面忽略了所有的.a文件
!test.a
#忽略根目录下的build文件夹
build/
#忽略lwj文件夹下面的所有目录, 不管是根目录下的/lwj/, 还是子目录下的 /child/lwj/
lwj/*
#忽略根目录下lwj下的所有目录
/lwj/*
#忽略当前文件夹下的TOOD, 不包括子目录下的/child/TOOD
/TOOD
#忽略/doc/test.txt,不能忽略/doc/test/test.txt
doc/*.txt
#有一种写法
#忽略全部
/*
#不忽略.gitignore, 不忽略 lwj和dyq文件夹
!.gitignore
!/lwj
!/dyq
github上提供了各个语言对应的.gitignore文件 查看地址
本文参考了以下文章
待完善
网友评论