Git config
Git 自帶了 git config
工具來給使用者設定控制 Git 外觀和行為的配置變數。這些變數儲存在三個不同位置:
etc/gitconfig
檔案:包含系統上的每個使用者和他們的倉庫通用配置。如果使用帶有--system
選項的git config
時,它會從此檔案讀寫配置變數。~/.gitconfig
or~/.config/git/config
檔案:只針對當前使用者,可以傳遞--global
選項讓 Git 讀寫此檔案。- 當前使用倉庫的 .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 協議》,轉載必須註明作者和本文連結