前情概要
初識 git
時,我們就已經接觸過 git
的基本配置,使用 git config
命令配置使用者名稱和郵箱:
# 配置當前專案(`local`)的使用者名稱(`snowdreams1006`)
git config --local user.name "snowdreams1006"
# 配置當前專案(`local`)的郵箱(`snowdreams1006@163.com`)
git config --local user.email "snowdreams1006@163.com"
複製程式碼
快速回憶一下配置的相關語法:
# 檢視預設全部配置: `local>global>system`
git config --list
# 檢視當前專案配置,等同於 `.git/config` 檔案
git config --local --list
# 檢視當前使用者配置,等同於 `~/.gitconfig` 檔案 或 `~/.config/git/config` 檔案
git config --global --list
# 檢視當前系統配置,等同於 `/etc/gitconfig` 檔案
git config --system --list
複製程式碼
man git-config
檢視幫助文件,git
的配置檔案是普通文字,也可以直接編輯.
高頻配置
總體來說,git
的配置項基本分為兩類: 客戶端和服務端.其中大部分屬於客戶端配置, 除非使用自己搭建私服,否則沒機會手動配置服務端(第三方伺服器基本都支援視覺化配置,比如禁止強制推送等配置).
alias
別名
熟悉 linux
操作的小夥伴對 ll
這個命令可能再熟悉不過了,是 ls -l
的縮寫,稱之為別名.
git
也支援別名,有個別名我們可以將常用的命令都縮短,大大降低出概率,提高工作效率.
# `git checkout` 縮寫成 `git co`
git config --global alias.co checkout
# `git commit` 縮寫成 `git ci`
git config --global alias.ci commit
# `git branch` 縮寫成 `git br`
git config --global alias.br branch
複製程式碼
如此一來,以後再也不用擔心打錯字了,簡化命令,懶人至上!
core.editor
編輯器
預設情況下,git
使用的是 $VISUAL
或 $EDITOR
配置的文字編輯器,如果沒有設定,則呼叫 vi
編輯器建立和編輯文字資訊.
檢視當前編輯器配置項:
# 檢視編輯器配置項: 若沒配置過,則無內容輸出,已配置過的話,會輸出相應編輯器資訊
git config core.editor
複製程式碼
假設使用 sublime
作為預設編輯器,那麼便可如下設定:
# `Mac` 系統如下設定: 設定成自己的 `Sublime` 的安裝路徑
git config --local core.editor "'/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl' -n -w"
# `Windows` 系統如下設定: 設定成自己的 `Sublime` 的安裝路徑
git config --local core.editor "'F:\Sublime Text 3 sublime text.exe' -n -w"
複製程式碼
此時再次檢視編輯器配置項應該會輸出剛才配置資訊,接下來我們驗證下編輯器的效果:
檢視提交歷史,已經提交成功(之前備註資訊是在命令列中直接輸入的,而現在是在編輯器中編輯)
$ git log --pretty=oneline --abbrev-commit
43fa8aa (HEAD -> master) validate sublime successfully
00e16d7 ok
2400f11 git config --local core.editor "'/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl' -n -w"
0d60cb8 ok
8fe5aba (origin/master, origin/HEAD) Merge branch 'master' of github.com:snowdreams1006/git-demo
$
複製程式碼
如果只是輸入簡單備註,根本用不到編輯器,若提交備註有格式化要求時再手動輸入就顯得力不從心了!
core.template
提交模板
如果你需要格式化提交備註,那麼這種情況下模板檔案最好不過了,和自定義的編輯器一起搭配,這樣就能約束自己和他人按照既定格式規範填寫提交備註,方便以後統一管理.
檢視當前提交模板配置:
git config commit.template
複製程式碼
假設你在當前專案下建立 commit-template.txt
模板檔案,內容如下:
# This is commit template
# snowdreams1006
# git-demo
複製程式碼
將編輯好的模板檔案設定成提交預設資訊,需要如下設定:
git config --local commit.template commiit-template.txt
複製程式碼
此時再次執行 git config commit.template
檢視已配置提交模板,現在看一下實際效果:
檢視提交歷史,當然也提交成功啦,可根據實際需求定製適合自己的提交模板.
$ git log --abbrev-commit
commit a2ca3f0 (HEAD -> master)
Author: snowdreams1006 <snowdreams1006@163.com>
Date: Wed Mar 27 16:22:18 2019 +0800
ok
myself
yes
commit 43fa8aa
Author: snowdreams1006 <snowdreams1006@163.com>
Date: Wed Mar 27 14:58:36 2019 +0800
validate sublime successfully
commit 00e16d7
Author: snowdreams1006 <snowdreams1006@163.com>
Date: Wed Mar 27 14:56:20 2019 +0800
ok
commit 2400f11
複製程式碼
git
還支援其他配置,暫時不一一介紹了,詳情請參考線上幫助文件:man git-config