天天看點

如何編寫.gitignore檔案

為什麼要有.gitignore檔案

項目中經常會生成一些Git系統不需要追蹤(track)的檔案。典型的是在編譯生成過程中 産生的檔案或是程式設計器生成的臨時備份檔案。當然,你不追蹤(track)這些檔案,可以平時不用

git add

去把它們加到索引中。 但是這樣會很快變成一件煩人的事,你發現項目中到處有未追蹤(untracked)的檔案; 這樣也使

git add .

git commit -a

變得實際上沒有用處,同時

git status

指令的輸出也會有它們。你可以在你的頂層工作目錄中添加一個叫”.gitignore”的檔案,來告訴Git系統要忽略 掉哪些檔案。

忽略檔案原則

忽略作業系統自動生成的檔案,比如縮略圖等;

忽略編譯生成的中間檔案、可執行檔案等,也就是如果一個檔案是通過另一個檔案自動生成的,那自動生成的檔案就沒必要放進版本庫,比如Java編譯産生的.class檔案;

忽略你自己的帶有敏感資訊的配置檔案,比如存放密碼的配置檔案。

文法規範(熟悉正則很容易了解)

空行或是以#開頭的行即注釋行将被忽略;

以斜杠 “/” 結尾表示目錄;

以星号 “*” 通配多個字元;

以問号 “?” 通配單個字元

以方括号 “[]” 包含單個字元的比對清單;

以歎号 “!” 表示不忽略(跟蹤)比對到的檔案或目錄;

可以在前面添加斜杠 “/” 來避免遞歸,下面的例子中可以很明白的看出來與下一條的差別。

配置檔案示例

# **忽略 .a 檔案**
*.a

# 但否定忽略 lib.a, 盡管已經在前面忽略了 .a 檔案
!lib.a

# 僅在目前目錄下忽略 TODO 檔案, 但不包括子目錄下的 subdir/TODO
/TODO

# 忽略 build/ 檔案夾下的所有檔案
build/

# 忽略 doc/notes.txt, 不包括 doc/server/arch.txt
doc/*.txt

# 忽略所有的 .pdf 檔案 在 doc/ directory 下的
doc/**/*.pdf
           

配置檔案模闆

Github 上為開發者提供了各種環境以及各種程式設計語言的 gitignore 檔案配置模闆:https://github.com/github/gitignore

.gitignore分為全局配置和局部配置,這個很容易了解全局配置是指修改目前.gitignore檔案本機的git中的全部項目都起作用,局部的配置是指每個項目下的.gitignore檔案隻對向前所在的項目起作用。

局部的配置隻需要在項目目錄中建立 .gitignore 檔案即可。

全局的配置設定方法為:

$git config –global core.excludesfile ~/.gitignore

這樣,修改 ~/.gitignore 這個檔案将作用于所有 git 項目,并且作用于項目執行個體中的所有被跟蹤的目錄。

Windows: (使用windows使用者,過濾存放圖檔檔案夾下生成的縮略圖)

Thumbs.db

ehthumbs.db

Desktop.ini

總結

忽略某些檔案時,需要編寫.gitignore。

.gitignore檔案本身要放到版本庫裡,并且可以對.gitignore做版本管理!

轉載連結:https://www.cnblogs.com/jingtyu/p/6831772.html

繼續閱讀