前言
Mac的每個(gè)文件夾默認(rèn)都有一個(gè)隱藏的.DS_Store文件, 這個(gè)文件保存了文件夾自定義屬性, 如圖標(biāo)位置或背景色等.雖然這個(gè)文件默認(rèn)是隱藏的, 但是我們?cè)谑褂胓it時(shí), 如果不主動(dòng)去在.gitignore中配置, 默認(rèn)也會(huì)把這個(gè)隱藏的.DS_Store文件push到git上去, 每個(gè)文件夾下都有, 看起來(lái)很不美觀.
.gitignore
我們一般在執(zhí)行g(shù)it操作時(shí), 有時(shí)候不想把所有的文件都push上去, 例如
- Java編譯產(chǎn)生的class文件
- 敏感信息的配置文件
- 操作系統(tǒng)自動(dòng)生成的文件, 例如.DS_Store等
- 或者是我們就是不想某個(gè)文件push上去
這個(gè)時(shí)候我們只需要在.gitignore中寫(xiě)入一些適當(dāng)?shù)囊?guī)則, 就可以實(shí)現(xiàn)上面的效果
.gitignore 語(yǔ)法規(guī)范
- 空行或是以#開(kāi)頭的行即注釋行將被忽略
- 以斜杠 “/” 結(jié)尾表示目錄
- 以星號(hào) “*” 通配多個(gè)字符
- 以問(wèn)號(hào) “?” 通配單個(gè)字符
- 以方括號(hào) “[]” 包含單個(gè)字符的匹配列表
- 以嘆號(hào) “!” 表示不忽略(跟蹤)匹配到的文件或目錄
示例
#忽略當(dāng)前文件夾下的.DS_Store文件
.DS_Store
#忽略所有子目錄下的.DS_Store
*/.DS_Store
#忽略所有的.a文件
*.a
#否定忽略test.a文件, 即時(shí)前面忽略了所有的.a文件
!test.a
#忽略根目錄下的build文件夾
build/
#忽略lwj文件夾下面的所有目錄, 不管是根目錄下的/lwj/, 還是子目錄下的 /child/lwj/
lwj/*
#忽略根目錄下lwj下的所有目錄
/lwj/*
#忽略當(dāng)前文件夾下的TOOD, 不包括子目錄下的/child/TOOD
/TOOD
#忽略/doc/test.txt,不能忽略/doc/test/test.txt
doc/*.txt
#有一種寫(xiě)法
#忽略全部
/*
#不忽略.gitignore, 不忽略 lwj和dyq文件夾
!.gitignore
!/lwj
!/dyq
github上提供了各個(gè)語(yǔ)言對(duì)應(yīng)的.gitignore文件 查看地址
本文參考了以下文章
待完善