-
1. 起步
-
2. Git 基礎
-
3. Git 分支
-
4. 伺服器上的 Git
- 4.1 協議
- 4.2 在伺服器上部署 Git
- 4.3 生成 SSH 公鑰
- 4.4 架設伺服器
- 4.5 Git Daemon
- 4.6 Smart HTTP
- 4.7 GitWeb
- 4.8 GitLab
- 4.9 第三方託管服務
- 4.10 小結
-
5. 分散式 Git
-
A1. 附錄 A: Git 在其他環境
- A1.1 圖形介面
- A1.2 Visual Studio 中的 Git
- A1.3 Visual Studio Code 中的 Git
- A1.4 IntelliJ / PyCharm / WebStorm / PhpStorm / RubyMine 中的 Git
- A1.5 Sublime Text 中的 Git
- A1.6 Bash 中的 Git
- A1.7 Zsh 中的 Git
- A1.8 PowerShell 中的 Git
- A1.9 小結
-
A2. 附錄 B: 在應用程式中嵌入 Git
-
A3. 附錄 C: Git 命令
1.6 開始 - 首次 Git 配置
首次 Git 配置
現在你的系統上已經安裝了 Git,接下來你需要做一些事情來定製你的 Git 環境。這些操作在任何一臺電腦上只需執行一次;它們會在升級後繼續保留。你也可以隨時透過再次執行這些命令來修改它們。
Git 提供一個名為 git config
的工具,它允許你獲取和設定配置變數,這些變數控制著 Git 的外觀和操作方式的方方面面。這些變數可以儲存在三個不同的位置
-
[path]/etc/gitconfig
檔案:包含應用於系統上每個使用者及其所有倉庫的值。如果你向git config
傳遞--system
選項,它會專門從該檔案讀取和寫入。由於這是一個系統配置檔案,你需要管理員或超級使用者許可權才能對其進行更改。 -
~/.gitconfig
或~/.config/git/config
檔案:專門針對你個人(使用者)的值。透過傳遞--global
選項,你可以讓 Git 專門從該檔案讀取和寫入,這會影響你係統上所有工作的倉庫。 -
你當前正在使用的任何倉庫的 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 查詢該值的來源,它會告訴你哪個配置檔案對設定該值具有最終決定權。
|