在使用git倉庫時庞钢,有些特殊文件我們希望能夠進行屏蔽搀矫,而有些文件我們希望能夠保留在版本庫中玻褪,此時就用到了git的.gitignore
文件件缸。
.gitignore
文件格式規(guī)范如下:
- 所有空行或#開頭的行都會被忽略;
- 可以使用標(biāo)準(zhǔn)的 glob 模式匹配颊郎;
- 文件或目錄前加
/
表示倉庫根目錄的對應(yīng)文件憋飞; - 匹配模式最后跟反斜杠
/
說明要忽略的是目錄; - 要特殊不忽略某個文件或目錄姆吭,可以在模式前加上取反
!
榛做。
其中 glob 模式是指 shell 所使用的簡化了的正則表達式。
- 星號
*
匹配零個或多個任意字符内狸; -
[abc]
匹配任何一個列在方括號中的字符(這個例子要么匹配一個 a检眯,要么匹配一個 b,要么匹配一個 c)答倡;- - 問號?
只匹配一個任意字符轰传; - 如果在方括號中使用短劃線分隔兩個字符驴党,表示所有在這兩個字符范圍內(nèi)的都可以匹配(比如
[0-9]
表示匹配所有 0 到 9 的數(shù)字)瘪撇。
下面是一個 .gitignore
文件例子,注釋上附錄有說明:
*.a # 所有以 '.a' 為后綴的文件都屏蔽掉
# Office 緩存文件
~'$'*.docx
~'$'*.ppt
~'$'*.pptx
~'$'*.xls
tags # 倉庫中所有名為 tags 的文件都屏蔽
core.* # 倉庫中所有以 'core.' 開頭的文件都屏蔽
tools/ # 屏蔽目錄 tools
log/* # 屏蔽目錄 log 下的所有文件港庄,但不屏蔽 log 目錄本身
/log.log # 只屏蔽倉庫根目錄下的 log.log 文件倔既,其他目錄中的不屏蔽
readme.md # 屏蔽倉庫中所有名為 readme.md 的文件
!/readme.md # 在上一條屏蔽規(guī)則的條件下,不屏蔽倉庫根目錄下的 readme.md 文件
注意:
例子中的最后兩條的順序很重要鹏氧,必須要先屏蔽所有的渤涌,然后才建立特殊不屏蔽的規(guī)則!