章節 ▾ 第二版

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 目錄下的 config 檔案(即 .git/config):特定於該單個倉庫。你可以透過 --local 選項強制 Git 從此檔案讀取和寫入,但實際上這就是預設行為。不出所料,要使此選項正常工作,你需要位於 Git 倉庫的某個目錄下。

每個級別都會覆蓋前一個級別的設定,因此 .git/config 中的值會覆蓋 [path]/etc/gitconfig 中的值。

在 Windows 系統上,Git 會在 $HOME 目錄(對大多數人來說是 C:\Users\$USER)中查詢 .gitconfig 檔案。它也會繼續查詢 [path]/etc/gitconfig,儘管它是相對於 MSys 的根目錄,也就是你在 Windows 系統上執行安裝程式時選擇安裝 Git 的位置。如果你使用的是 Git for Windows 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 位版本不支援所有外掛。如果你使用的是 32 位 Windows 系統,或者在 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 <key> 來檢查 Git 如何看待特定鍵的值

$ git config user.name
John Doe
注意

由於 Git 可能會從多個檔案中讀取相同的配置變數值,因此你可能會得到一個意外的值,而不知道原因。在這種情況下,你可以詢問 Git 該值的來源,它會告訴你哪個配置檔案最終確定了該值

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