前言
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文件 查看地址
本文參考了以下文章
待完善