Git的忽略文件

在日常中,有些文件我們只想本地使用,不想上傳到遠程倉庫中被別人看到,可如果我們不追蹤這些文件,git status時Git就會絮絮叨叨的提醒我們工作目錄中一些未跟蹤的文件,所以我們可以通過.gitignore文件來讓獲得清淨

由於我是在Windows環境下,不能直接創建空文件名的文件,所以去bash裏創建(移動到所在目錄):

> touch .gitignore

用法:

假如我們要忽略一個臨時文件test.tmp,那麼在.gitignore文件中寫入*tmp即可

《Pro Git》裏對.gitignore格式規範的解釋:

  • 所有空行或者以註釋符號 # 開頭的行都會被 Git 忽略
  • 可以使用標準的 glob 模式匹配
  • 匹配模式最後跟反斜槓(/)說明要忽略的是目錄
  • 要忽略指定模式以外的文件或目錄,可以在模式前加上驚歎號(!)取反

glob模式:
指 shell 所使用的簡化了的正則表達式

星號(*)匹配零個或多個任意字符

[abc] 匹配任何一個列在方括號中的字符(這個例子要麼匹配一個 a,要麼匹配一個 b,要麼匹配一個 c)

問號(?)只匹配一個任意字符

如果在方括號中使用短劃線分隔兩個字符,表示所有在這兩個字符範圍內的都可以匹配(比如 [0-9] 表示匹配所有 0 到 9 的數字)

所以 *tmp,就是指忽略所有以tmp結尾的文件

再來看一個 .gitignore 文件的例子:

# 此爲註釋 – 將被 Git 忽略

# 忽略所有 .a 結尾的文件

*.a

# 但 lib.a 除外

!lib.a

# 僅僅忽略項目根目錄下的 TODO 文件

# 不包括 subdir/TODO

/TODO

# 忽略 build/ 目錄下的所有文件

build/

# 忽略 doc 目錄下的所有 .txt 文件

# 會忽略 doc/notes.txt 

# 但不包括 doc/server/arch.txt

doc/*.txt

在項目一開始就把.gitignore設置好,可避免不必要的文件對代碼產生干擾,比如有些需要本地生成的文件,如果放在遠程倉庫中被其他人下載使用,也可能會導致程序無法正常運行

參考: Crossin的編程教室

發佈了34 篇原創文章 · 獲贊 23 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章