HOWTO · Git

將檔案條目新增到 Git 中的 gitignore 檔案

本教程是關於將檔案條目新增到 Git 中的 .gitignore 檔案。

本教程將討論向 Git 中的 .gitignore 檔案新增檔案條目。

將檔案條目新增到 Git 中的 .gitignore 檔案

Git 跟蹤 Git 倉庫的專案目錄中所有檔案的修改。我們可能希望禁止在 Git 倉庫中跟蹤特定檔案。

通常,我們希望從跟蹤中忽略的檔案是作為構建過程、臨時檔案或系統生成檔案的一部分建立的。

在 Git 倉庫中跟蹤通常會忽略的一些常見檔案型別如下:

  • 編譯時建立的程式碼檔案,例如 .o.pyc.class 檔案;
  • 構建的輸出目錄,例如 /bin/out/target
  • 執行時生成的檔案,例如 .log.lock.tmp
  • 隱藏的系統檔案,例如 .DS_StoreThumbs.db
  • 個人 IDE 的配置檔案,例如 .idea/workspace.xml
  • 編輯器臨時檔案,例如 .swp.swo(由 Vim 編輯器生成);
  • 包檔案或壓縮檔案,例如 .jar.war.nar.zip.tar.gz.rar

我們可以使用 Git 的 .gitignore 檔案功能來忽略檔案的跟蹤。它是一個特殊檔案,通常在 Git 倉庫中專案目錄的根目錄中籤入。

沒有特殊的命令可以觸發忽略過程。每當我們有我們希望忽略的新檔案時,都需要更新 .gitignore 檔案並將其提交到倉庫。

我們需要在與 Git 倉庫中的檔名匹配的 .gitignore 檔案中新增模式,以決定是新增還是忽略它們。

下面是 .gitignore 用來匹配檔名的萬用字元模式。

  • .log 忽略目錄中帶有 .log 副檔名的日誌檔案,例如。debug.log、.log、logs/debug.log
  • /bin 忽略 bin 資料夾
  • .class 忽略已編譯的類檔案
  • .tmp 忽略 tmp (臨時) 檔案
  • logs 忽略名稱為 logs 的檔案和目錄的內容。

按照慣例,我們可以將 .gitignore 檔案放在倉庫的頂級目錄中。我們還可以在子目錄中新增多個 .gitignore 檔案。

特定 .gitignore 檔案中的模式相對於包含該檔案的目錄進行測試。

請參閱下面的示例 .gitignore 檔案的摘錄。

$ cat .gitignore
# ignore the bin folders
**/bin/

# Compiled class file
*.class

# Log file
*.log

# tmp files
*.tmp

# Vim temp files
*.swp
*.swo
...

行首的 # 在檔案中新增註釋。

我們還可以在本地系統倉庫中新增個人忽略模式。我們需要將它們新增到本地系統中位置 git/info/exclude 的特定檔案中。

這不是版本控制的,也沒有提交併與我們的倉庫一起分發。

我們還可以為本地系統中存在的所有倉庫定義全域性 Git 忽略模式。我們需要設定 Git 全域性屬性 core.excludesFile

因此,例如,我們可以在我們的主目錄中新增全域性 .gitignore 檔案,並使用命令 git config 配置其位置,如下所示。

$ touch ~/.gitignore
$ git config --global core.excludesFile ~/.gitignore

我們已經學會了將檔案條目新增到 Git 中的 .gitignore 檔案中。

欲瞭解更多資訊,請訪問以下內容。

  1. .gitignore
  2. 通配模式
  3. 忽略檔案