Git忽略檔案

2021-10-03 15:38:34 字數 1552 閱讀 7686

一般我們總會有些檔案無需納入 git 的管理,也不希望它們總出現在未跟蹤檔案列表。 通常都是些自動生成的檔案,比如日誌檔案,或者編譯過程中建立的臨時檔案等。 在這種情況下,我們可以建立乙個名為 .gitignore的檔案,列出要忽略的檔案的模式。 來看乙個實際的 .gitignore 例子:

$ cat

.gitignore*.

[oa]

*~

第一行告訴 git 忽略所有以 .o 或 .a 結尾的檔案。一般這類物件檔案和存檔檔案都是編譯過程**現的。 第二行告訴 git 忽略所有以波浪符(~)結尾的檔案,許多文字編輯軟體(比如 emacs)都用這樣的檔名儲存副本。 此外,你可能還需要忽略 log,tmp 或者 pid 目錄,以及自動生成的文件等等。 要養成一開始就設定好.gitignore 檔案的習慣,以免將來誤提交這類無用的檔案。

檔案 .gitignore 的格式規範如下

0. 所有空行或者以 # 開頭的行都會被 git 忽略

1. 所有空行或者以 # 開頭的行都會被 git 忽略。

2. 可以使用標準的 glob 模式匹配。

3. 匹配模式可以以(/)開頭防止遞迴。

4. 匹配模式可以以(/)結尾指定目錄。

5. 要忽略指定模式以外的檔案或目錄,可以在模式前加上驚嘆號(!)取反。

所謂的 glob 模式是指 shell 所使用的簡化了的正規表示式。 星號(*)匹配零個或多個任意字元;[abc]匹配任何乙個列在方括號中的字元(這個例子要麼匹配乙個 a,要麼匹配乙個 b要麼匹配乙個 c);問號(?)只匹配乙個任意字元;如果在方括號中使用短劃線分隔兩個字元,表示所有在這兩個字元範圍內的都可以匹配(比如 [0-9] 表示匹配所有 0 到 9 的數字)。 使用兩個星號(*)表示匹配任意中間目錄,比如 a/**/z 可以匹配 a/z , a/b/z 或 a/b/c/z 等。

我們再看乙個 .gitignore 檔案的例子:

# no .a files*.a

# but do track lib.a, even though you're ignoring .a files above

!lib.a

# only ignore the todo file in the current directory, not subdir/todo

/todo

# ignore all files in the build/ directory

build/

# ignore doc/notes.txt, but not doc/server/arch.txt

doc/*

.txt

# ignore all .pdf files in the doc/ directory

doc/**/

*.pdf

github 有乙個十分詳細的針對數十種專案及語言的 .gitignore 檔案列表,你可以在 找到它。

Git 忽略檔案

有些檔案無需納入git版本庫,也不希望它們總出現未跟蹤檔案列表。通常都是些自動生成的檔案,像是日誌或者編譯過程中建立的等等。可以建立乙個名為.gitignore的檔案,列出要忽略的檔案模式。檔案.gitignore可以放在任何目錄中,它的作用範圍是其所處的目錄及其子目錄。忽略只對未跟蹤檔案有效,對於...

git 忽略檔案

git提供了檔案忽略系統,當對工作區某個目錄或檔案設定了忽略後,在執行status檢視狀態時,被忽略的檔案即使存在也不會顯示出來。這樣我就可以把那些不需要上傳,不需要保留的檔案或目錄忽略掉 比如一些動態生成的log,或者編譯出來的檔案等等 對於忽略檔案,git提供了3種方式 我們組的大神又告訴我了另...

git 檔案忽略

在使用git進行版本管理時,有一些不需要提交到版本庫里的檔案和資料夾,或者在管理乙個實際應用的開源專案的時候,不可以把帶有資料庫資訊的檔案上傳到開源平台當中,此時就需要讓git自動忽略掉一下檔案。檔案忽略有幾種方式 沒有被track的檔案 我們需要在專案的根目錄當中建立.gitignore檔案。gi...