注意忽略只對未跟蹤文件有效,對於已加入版本庫的文件無效。
一、三級忽略文件
1. 版本庫共享式忽略文件
版本庫中目錄下的.gitignore文件作用於整個目錄及子目錄,會隨着該版本庫同其他人共享。
2. 本地的針對具體版本庫的獨享式忽略文件
即在版本庫.git目錄下的文件info/exclude中設置文件忽略
3. 本地的全局的獨享式忽略文件
通過Git的配置變量core.excludesfile指定的一個忽略文件(指定文件名),其設置的忽略對所有本地版本庫均有效。設置方法如下(文件名可以任意設置):
git config --global core.excludesfile ~/.gitignore
二、關於Git的忽略文件的語法規則
- 忽略文件中的空行或以井號(#)開始的行將會被忽略。
- 可以使用Linux通配符。例如:星號(*)代表任意多個字符,問號(?)代表一個字符,方括號([abc])代表可選字符范圍,大括號({string1,string2,...})代表可選的字符串等。
- 如果名稱的最前面有一個感嘆號(!),表示例外規則,將不被忽略。
- 如果名稱的最前面是一個路徑分隔符(/),表示要忽略的文件在此目錄下,而子目錄中的文件不忽略。
- 如果名稱的最后面是一個路徑分隔符(/),表示要忽略的是此目錄下該名稱的子目錄,而非文件(默認文件或目錄都忽略)。
示例:
# 這是注釋行,將被忽略
*.a # 忽略所有以.a為擴展名的文件
!lib.a # 但是名為lib.a的文件或目錄不要忽略,即使前面設置了對*.a的忽略
/TODO # 只忽略此目錄下的TODO文件,子目錄中的TODO文件不忽略
build/ # 忽略所有build目錄下的文件,但如果是名為build的文件則不忽略
doc/*.txt # 忽略文件如doc/notes.txt,但是文件如doc/server/arch.txt不忽略 |