Git
章節 ▾ 第二版

1.6 起步 - 首次 Git 設定

首次 Git 設定

現在您的系統上已經有 Git 了,您會需要做一些事情來客製化您的 Git 環境。您應該只需要在任何特定電腦上做這些事情一次;它們會在升級之間保留。您也可以隨時再次執行這些命令來變更它們。

Git 帶有一個名為 git config 的工具,可讓您取得和設定控制 Git 外觀和操作方式的所有方面的設定變數。這些變數可以儲存在三個不同的位置

  1. [path]/etc/gitconfig 檔案:包含套用於系統上每個使用者及其所有儲存庫的值。如果您將選項 --system 傳遞給 git config,它會特別從此檔案讀取和寫入。因為這是系統設定檔,您需要管理員或超級使用者權限才能對其進行變更。

  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 的位置。如果您使用的是適用於 Windows 的 Git 2.x 或更新版本,則在 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 選項。

許多 GUI 工具會在您第一次執行它們時協助您完成此操作。

您的編輯器

設定好您的身分後,您可以設定當 Git 需要您輸入訊息時將使用的預設文字編輯器。如果未設定,Git 會使用系統的預設編輯器。

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

$ git config --global core.editor emacs

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

以 Notepad++ 這個受歡迎的程式碼編輯器為例,你可能會想使用 32 位元版本,因為在撰寫本文時,64 位元版本並不支援所有外掛程式。如果你的 Windows 系統是 32 位元,或你在 64 位元系統上使用 64 位元編輯器,你可能會輸入類似以下的指令:

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

Vim、Emacs 和 Notepad++ 是開發人員在 Linux 和 macOS 等 Unix 系統或 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 <鍵> 來檢查 Git 認為特定鍵的值是什麼。

$ git config user.name
John Doe
注意

由於 Git 可能會從多個檔案讀取相同的組態變數值,因此你可能會發現其中一個值出現非預期的值,但你不知道為什麼。在這種情況下,你可以查詢 Git 該值的來源,它會告訴你哪個組態檔案最終決定了該值的設定。

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