git-忽略指定檔案
本文**:
有些檔案是我們並不想加入也無需被新增到 git 管理中,同時也不希望他出現在未跟蹤列表中。例如在編譯過程中生成的 o 檔案。 「.gitignore」 檔案可以達到這個效果。
一、區域性和全域性設定
.gitignore 有全域性和區域性兩種:
1. 全域性
通過修改全域性配置 git config 中的excludesfile 指定全域性忽略檔案。
設定方法:
$ git config --global core.excludesfile ~/.gitignore
修改 ~/.gitignore 這個檔案將作用於所有 git 專案,並且作用於專案例項中的所有被跟蹤的目錄。比如說我們可以在該檔案中新增 *.o 來忽略所有 .o 檔案。
2. 區域性
忽略檔案預設為當前目錄的 .gitignore ,但它只作用於當前目錄下。上面說到,在全域性的 .gitignore 檔案中新增 *.o 會忽略所有目錄下產生的 .o 檔案,但在當前目錄下的 .gitignore 中新增 *.o 卻只能忽略當前目錄下的 .o 檔案。
二、語法
.gitignore 的語法規範如下:
·所有空行或者以注釋符號 # 開頭的行都會被 git 忽略;
·可以使用標準的 glob 模式匹配。 * 匹配模式最後跟反斜槓(/
)說明要忽略的是目錄。 * 要忽略指定模式以外的檔案或目錄,可以在模式前加上驚嘆號(!
)取反。
glob 模式匹配:
·星號(*
)匹配零個或多個任意字元;
·[abc]匹配任何乙個列在方括號中的字元(這個例子要麼匹配乙個 a,要麼匹配乙個 b,要麼匹配乙個 c);
·問號(?
)只匹配乙個任意字元;
·[0-9a-za-z]
在方括號中使用短劃線分隔兩個字元,表示所有在這兩個字元範圍內的都可以匹配(比如[0-9a-za-z]
表示匹配所有 0 到 9 的數字和所有字母);
·\ 轉義字元。
注:理論上來說,在要忽略的格式檔案後面新增注釋是允許的,但經過我的驗證,結果發現這樣子操作並不能達到預期的效果。
三、例子
乙個 .gitignore 例子。
# 此為注釋 – 將被 git 忽略
# 忽略所有 .a 結尾的檔案
*.a
# 但 lib.a 除外
!lib.a
# 僅僅忽略專案根目錄下的 todo 檔案,不包括 subdir/todo
/todo
# 忽略 build/ 目錄下的所有檔案
build/
# 會忽略 doc/notes.txt 但不包括 doc/server/arch.txt
doc/*.txt
git用 gitignore忽略指定檔案
gitignore 配置檔案用於配置不需要加入版本管理的檔案,配置好該檔案可以為我們的版本管理帶來很大的便利,以下是個人對於配置 gitignore 的一些心得。1 配置語法 以斜槓 開頭表示目錄 以星號 通配多個字元 以問號 通配單個字元 以方括號 包含單個字元的匹配列表 以嘆號 表示不忽略 跟蹤...
git用 gitignore忽略指定檔案
gitignore 配置檔案用於配置不需要加入版本管理的檔案,配置好該檔案可以為我們的版本管理帶來很大的便利,以下是個人對於配置 gitignore 的一些心得。1 配置語法 以斜槓 開頭表示目錄 以星號 通配多個字元 以問號 通配單個字元 以方括號 包含單個字元的匹配列表 以嘆號 表示不忽略 跟蹤...
git用 gitignore忽略指定檔案
gitignore 配置檔案用於配置不需要加入版本管理的檔案,配置好該檔案可以為我們的版本管理帶來很大的便利,以下是個人對於配置 gitignore 的一些心得。1 配置語法 以斜槓 開頭表示目錄 以星號 通配多個字元 以問號 通配單個字元 以方括號 包含單個字元的匹配列表 以嘆號 表示不忽略 跟蹤...