git-忽略指定文件git
軟件版本:
操做系統:ubuntu10.04
內核版本:Linux version 2.6.32-36-generic
git 版本:git version 1.7.0.4ubuntu
目錄:
1. 介紹
2. 全局與局部
2.1 全局
2.2 局部
3. 語法
4. 例子
5. 參考資料
ui
1. 介紹
spa
有些文件是咱們並不想加入也無需被添加到 Git 管理中,同時也不但願他出如今未跟蹤列表中。例如在編譯過程當中生成的 o 文件。 「.gitignore」 文件能夠達到這個效果。操作系統
2. 全局與局部
code
.gitignore 有全局和局部兩種:server
2.1 全局blog
經過修改全局配置 git config 中的 excludesfile 指定全局忽略文件。
設置方法:it
$git config --global core.excludesfile ~/.gitignore
2.2 局部io
忽略文件默認爲當前目錄的 .gitignore ,但它只做用於當前目錄下。上面說到,在全局的 .gitignore 文件中添加 *.o 會忽略全部目錄下產生的 .o 文件,但在當前目錄下的 .gitignore 中添加 *.o 卻只能忽略當前目錄下的 .o 文件。
3. 語法
.gitignore 的語法規範以下:
·全部空行或者以註釋符號 # 開頭的行都會被 Git 忽略;
·可使用標準的 glob 模式匹配。 * 匹配模式最後跟反斜槓(/
)說明要忽略的是目錄。 * 要忽略指定模式之外的文件或目錄,能夠在模式前加上驚歎號(!
)取反。
glob 模式匹配:
·星號(*
)匹配零個或多個任意字符;
·[abc]
匹配任何一個列在方括號中的字符(這個例子要麼匹配一個 a,要麼匹配一個 b,要麼匹配一個 c);
·問號(?
)只匹配一個任意字符;
·[0-9a-zA-Z]
在方括號中使用短劃線分隔兩個字符,表示全部在這兩個字符範圍內的均可以匹配(好比 [0-9a-zA-Z]
表示匹配全部 0 到 9 的數字和全部字母);
·\ 轉義字符。
注:理論上來講,在要忽略的格式文件後面添加註釋是容許的,但通過個人驗證,結果發現這樣子操做並不能達到預期的效果。
4. 例子
一個 .gitignore 例子。
# 此爲註釋 – 將被 Git 忽略
# 忽略全部 .a 結尾的文件
*.a
# 但 lib.a 除外
!lib.a
# 僅僅忽略項目根目錄下的 TODO 文件,不包括 subdir/TODO
/TODO
# 忽略 build/ 目錄下的全部文件
build/
# 會忽略 doc/notes.txt 但不包括 doc/server/arch.txt
doc/*.txt
5. 參考資料
[1] 《pro git》