章節 ▾ 第二版

1.6 開始 - 首次 Git 配置

首次 Git 配置

現在你的系統上已經安裝了 Git,接下來你需要做一些事情來定製你的 Git 環境。這些操作在任何一臺電腦上只需執行一次;它們會在升級後繼續保留。你也可以隨時透過再次執行這些命令來修改它們。

Git 提供一個名為 git config 的工具,它允許你獲取和設定配置變數,這些變數控制著 Git 的外觀和操作方式的方方面面。這些變數可以儲存在三個不同的位置

  1. [path]/etc/gitconfig 檔案:包含應用於系統上每個使用者及其所有倉庫的值。如果你向 git config 傳遞 --system 選項,它會專門從該檔案讀取和寫入。由於這是一個系統配置檔案,你需要管理員或超級使用者許可權才能對其進行更改。

  2. ~/.gitconfig~/.config/git/config 檔案:專門針對你個人(使用者)的值。透過傳遞 --global 選項,你可以讓 Git 專門從該檔案讀取和寫入,這會影響你係統上所有工作的倉庫。

  3. 你當前正在使用的任何倉庫的 Git 目錄(即 .git/config)中的 config 檔案:僅針對該單個倉庫。你可以使用 --local 選項強制 Git 從該檔案讀取和寫入,但這實際上是預設行為。不出所料,為了使此選項正常工作,你需要在 Git 倉庫的某個位置。

每個級別都會覆蓋上一級別的值,因此 .git/config 中的值會優先於 [path]/etc/gitconfig 中的值。

在 Windows 系統上,Git 會在 $HOME 目錄(對於大多數人是 C:\Users\$USER)中查詢 .gitconfig 檔案。它也仍然會查詢 [path]/etc/gitconfig,儘管它是相對於 MSys 根目錄的,即你在 Windows 系統上執行安裝程式時決定安裝 Git 的位置。如果你使用的是 2.x 或更高版本的 Git for Windows,在 Windows XP 上還有一個系統級配置檔案位於 C:\Documents and Settings\All Users\Application Data\Git\config,在 Windows Vista 及更高版本上則位於 C:\ProgramData\Git\config。此配置檔案只能由管理員使用 git config -f <file> 命令進行更改。

你可以使用以下命令檢視所有設定及其來源:

$ git config --list --show-origin

你的身份

安裝 Git 後,你應該做的第一件事是設定你的使用者名稱和電子郵件地址。這很重要,因為每次 Git 提交都會使用這些資訊,並且它們會不可更改地嵌入到你開始建立的提交中。

$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com

同樣,如果你傳遞 --global 選項,你只需做一次,因為 Git 隨後將始終在你的系統上為你的使用者使用該資訊。如果你想為特定專案使用不同的名稱或電子郵件地址來覆蓋此設定,在該專案中執行時,可以不帶 --global 選項執行該命令。

許多圖形介面工具在首次執行時會幫助你完成此操作。

你的編輯器

現在你的身份已設定好,你可以配置預設的文字編輯器,當 Git 需要你輸入訊息時會使用它。如果未配置,Git 將使用你係統的預設編輯器。

如果你想使用不同的文字編輯器,例如 Emacs,你可以執行以下操作:

$ git config --global core.editor emacs

在 Windows 系統上,如果你想使用不同的文字編輯器,你必須指定其可執行檔案的完整路徑。這可能因你的編輯器打包方式而異。

以流行的程式設計編輯器 Notepad++ 為例,你可能希望使用 32 位版本,因為在撰寫本文時,64 位版本不支援所有外掛。如果你在 32 位 Windows 系統上,或者在 64 位系統上安裝了 64 位編輯器,你會輸入類似這樣的內容:

$ git config --global core.editor "'C:/Program Files/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin"
注意

Vim、Emacs 和 Notepad++ 是開發者在類 Unix 系統(如 Linux 和 macOS)或 Windows 系統上常用的文字編輯器。如果你使用的是其他編輯器,或者 32 位版本,請在 git config core.editor 命令中查詢如何為 Git 設定你喜歡的編輯器的具體說明。

警告

如果你不這樣設定編輯器,你可能會發現當 Git 嘗試啟動它時會陷入一個非常令人困惑的狀態。例如,在 Windows 系統上,這可能包括在 Git 啟動編輯操作期間過早地終止 Git 操作。

你的預設分支名稱

預設情況下,當你使用 git init 建立新倉庫時,Git 會建立一個名為 master 的分支。從 Git 2.28 版本開始,你可以為初始分支設定一個不同的名稱。

要將 main 設定為預設分支名稱,請執行以下操作:

$ git config --global init.defaultBranch main

檢查你的設定

如果你想檢查你的配置設定,可以使用 git config --list 命令列出 Git 在該時刻能找到的所有設定。

$ git config --list
user.name=John Doe
user.email=johndoe@example.com
color.status=auto
color.branch=auto
color.interactive=auto
color.diff=auto
...

你可能會看到多個相同的鍵,因為 Git 從不同的檔案(例如 [path]/etc/gitconfig~/.gitconfig)中讀取相同的鍵。在這種情況下,Git 會使用它看到的每個唯一鍵的最後一個值。

你還可以透過鍵入 git config <key> 來檢查 Git 認為某個特定鍵的值是什麼。

$ git config user.name
John Doe
注意

由於 Git 可能會從多個檔案中讀取相同的配置變數值,因此你可能會遇到某個值並非預期的,並且不知道原因。在這種情況下,你可以向 Git 查詢該值的來源,它會告訴你哪個配置檔案對設定該值具有最終決定權。

$ git config --show-origin rerere.autoUpdate
file:/home/johndoe/.gitconfig	false
scroll-to-top