Git 配置簡介

Galois發表於2020-01-15

Git config

Git 自帶了 git config 工具來給使用者設定控制 Git 外觀和行為的配置變數。這些變數儲存在三個不同位置:

  1. etc/gitconfig 檔案:包含系統上的每個使用者和他們的倉庫通用配置。如果使用帶有 --system 選項的 git config 時,它會從此檔案讀寫配置變數。
  2. ~/.gitconfig or ~/.config/git/config 檔案:只針對當前使用者,可以傳遞 --global 選項讓 Git 讀寫此檔案。
  3. 當前使用倉庫的 .Git 目錄中的 config 檔案:針對該倉庫。(./git/config

按照就近原則來覆蓋上一級別的配置,所以當有 .git/config 的配置變數作用於當前倉庫專案時,當前倉庫就沒必要聽 /etc/gitconfig 配置變數的話了。

在 Windows 系統中,Git 會查詢 $HOME 目錄下的 gitconfig 檔案。Git 同樣也會尋找 /etc/gitconfig 檔案,但只限於 MSys 的根目錄下,即安裝 Git 時所選的目標位置。

一般情況下 Windows中 的 $HOME 目錄是 C:\Users\$USER 目錄。

配置使用者資訊:

$ git config --global user.name "Galois"
$ git config --global user.email galois.alex@gmail.com

--global 是全域性配置,如果要針對不同的專案使用不同的使用者名稱與郵件地址可以在那個專案目錄下執行不帶 --global 的選項命令來配置。

Git 文字編輯器

Git 還可以配置文字編輯器:

$ git config --global core.editer emacs  # 預設編輯器通常為 Vim,這裡配置了 Emacs

檢查配置資訊:git config --list
檢查特定配置變數資訊:git config <key>

Git 別名

$ git config --global alias.co checkout
$ git config --global alias.br branch
$ git config --global alias.ci commit
$ git config --global alias.st status

這時候如果輸入 git st 就相當於輸入 git status
例如新增自己的取消暫存別名:

$ git config --global alias.unstage 'reset HEAD --'

這時下面的兩個命令等價:

$ git unstage fileA
$ git reset HEAD -- fileA

通常可以新增一個檢視最後一次提交的命令:

$ git config --global alias.last 'log -1 HEAD'

定義外部命令(非 Git 子命令)透過 !

$ git config --global alias.visual '!gitk'

這時候命令 git visual 可以用該命令別名 gitk 來執行。

本作品採用《CC 協議》,轉載必須註明作者和本文連結
不要試圖用百米衝刺的方法完成馬拉松比賽。

相關文章