在Git配置文件中配置變量,可以控制Git的外觀和操作的各個方面。通過git config命令可以獲得和設置配置變量。
一、Git配置文件的位置
這些變量可以被存儲在三個不同的位置:
1./etc/gitconfig 文件(系統級配置文件):包含了適用於系統所有用戶和所有庫的值。如果你傳遞參數選項’--system’ 給 git config,它將明確的讀和寫這個文件。
2.~/.gitconfig 文件 (用戶級配置文件):具體到某個用戶。如果你傳遞參數選項’--global’ 給 git config,它將明確的讀和寫這個文件。
3.位於git目錄的config文件 (也就是 .git/config,項目級配置文件) :具體到某個項目。如果你傳遞參數選項’--local’ 給 git config,或者不傳參數給git config,它將明確的讀和寫這個文件。
配置文件生效生效優先級是先項目級(.git/config),后用戶級(~/.gitconfig),最后系統級(/etc/gitconfig)。
二、Git配置文件詳解
轉自博客:https://baijiahao.baidu.com/s?id=1623254575291831567&wfr=spider&for=pc
由於git的使用大多都是以用戶級的,所以我們日常用的最多都是通過用戶級別的配置,接下來主要是用戶級別配置文件的介紹。
1、別名[alias]
git別名是我們日常進行git配置使用最多的一部分內容。在git使用中,為了便捷,減少輸入,git提供了別名機制來將標准的git命令自定義為自己習慣使用的命令。我們可以將git的命令設定別名為為1或2個字母的快捷方式。
[alias]
amend = commit --amend
amendf = commit --amend --no-edit
br = branch
ct = commit
co = checkout
cp = cherry-pick
df = diff
ds = diff --staged
l = log
lg = log --graph --all --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(reset) %C(white)%s%C(reset) %C(bold white)— %an%C(reset)%C(bold yellow)%d%C(reset)' --abbrev-commit --date=relative
lp = log --pretty=oneline
sa = stash apply
sh = show
ss = stash save
st = status
2、配色[color]
給你的工作終端設置一個好看的顏色也是每一個碼農一直孜孜以求的目標,那就看本部分:
[color]
ui = auto
[color "branch"]
current = yellow reverse
local = yellow
remote = green
[color "status"]
added = yellow
changed = green
untracked = cyan
[color "diff"]
meta = yellow
frag = magenta bold
commit = yellow bold
old = red bold
new = green bold
whitespace = red reverse
[color "diff-highlight"]
oldNormal = red bold
oldHighlight = red bold 52
newNormal = green bold
newHighlight = green bold 22
注:ui = auto是UI的默認設置。它在輸出直接到終端時為輸出着色,但在輸出重定向到管道或文件時會省略顏色控制代碼,以免導致問題。
3、核心[core]
[core]
editor = vim
excludesfile = ~/.gitignore
pager = diff-so-fancy | less --tabs=4 -RFX
autocrlf = input
核心設置部分包含與git相關的各種不同設置。我們設置到的部分有:
①editor = vim設置要用於編輯提交消息的編輯器(如果未設置此值,git將首先嘗試從環境變量VISUAL或EDITOR讀取你當前的編輯器,如果獲取不到,最終會使用vi)。
②excludesfile =~/.gitignore允許指定全局性質的.gitignore文件。每個git存儲庫都可以設置特定的項目級別的.gitignore文件,該文件指定要從版本控制中排除的文件。但很多時候,每個git存儲庫中的一些文件都是相同的(例如,macOS上的.DS_Store,或者當你是Python開發人員時是*.pyc),為了避免重復設置,可以設置全局性質的.gitignore,該設置就會對該用戶下所有的項目都生效。
③pager = diff-so-fancy | less --tabs = 4 -RFX指定要用於顯示git log,git diff和git show命令輸出的工具。默認情況下,git使用的是less。該配置中我們指定使用diff-so-fancy。
④autocrlf = input。 由於Windows使用的是與Unix和MacOS不同的行結尾,如果來自不同操作系統的人員提交到同一個存儲庫,則可能會造成一些混亂。關於換行設置三種操作系統(windows,linux和macOS)的是不一樣的:
MacOS/Linux設置:autocrlf = input
Windows上的autocrlf = true。
4、憑據[credential]
[credential]
helper = cache --timeout=28800
憑據部分用來指定希望你需要默認保存的賬號和密碼。默認情況下,git根本不會包存儲憑據,所以,每次連接時(http(s)性質的倉庫)都會提示輸入用戶名和密用,這會很麻煩,你可以在此處設置保存戶名密碼,這樣就可以不用每次都輸入了(當然最好方式,是用ssh證書方法,即安全又方便)。憑據一般可以通過兩種方式保存,保存在帶有store選項的文件中(它將使用你的憑據創建純文本文件),或使用cache選項將它們存儲在內存中。當然根據你系統不同,還可以使用第三方的方式,比如MacOS下的osxkeychain,Windows下的Git Credential Manager)。此處我們使用的是,通過內存cache的方式,默認是15分鍾,此處我們設置為8小時。
5、推送[push]
[push]
default = current
git push命令中包含分支的名稱,如果你沒有添加,可能導致意外的行為(例如我正在開發dev分支,但不小心,push到了master分支)。為了防止這種錯誤,我給push設置了default = current選項。現在,如果忘記包含分支的名稱,git將嘗試推送到具有相同名稱的分支。如果它在遠程庫中找不到具有相同名稱的分支,會新創建一個。
6、證書認證[http]
[http]
sslVerify = false
由於CA證書的問題,導致不能上傳代碼,簡單粗暴的方法就是設置不認證證書。
關於git證書認證,可查看如下博客:https://www.cnblogs.com/yssjun/p/10145864.html,此篇博客介紹得十分詳細。
三、git config命令詳解
參考博客:https://www.cnblogs.com/shoshana-kong/p/11003192.html、https://www.cnblogs.com/fireporsche/p/9359130.html
git config命令能夠獲取和設置git配置文件中的配置變量。
1、查看配置文件中的配置項
git config [--system|--global|--local] [--get] 模塊名.變量名
#查看用戶級配置文件的所有配置項
git config --global --list 或 git config --global --list
#查看用戶級配置文件的用戶名配置項
git config --global user.name
#查看用戶級配置文件的編輯器配置項
git config --global --get core.editor
2、設置配置文件中的配置項
git config [--system|--global|--local] 模塊名.變量名 配置值
#設置用戶級配置文件的用戶名配置項
git config --global user.name xiaoming
#設置用戶級配置文件的編輯器配置項
git config --global http.sslVerify false
3、在配置文件中添加配置項
git config [--system|--global|--local] --add 模塊名.變量名 配置值
#在用戶級配置文件的增加郵箱配置項
git config --global -add user.email xiaoming@163.com
4、刪除配置文件中的配置項
git config [--system|--global|--local] --unset 模塊名.變量名
#在用戶級配置文件的刪除郵箱配置項
git config --global --unset user.email
5、編輯配置文件
git config [--system|--global|--local] -e
#編輯用戶級配置文件
git config --global -e
6、獲取幫助
如果當你在使用Git時需要幫助,有三種方法可以獲得任何git命令幫助信息:
git <verb>
git <verb> --help
git help <verb>
關於如何配置Git配置文件和git config的使用方法,本博文可能介紹得不是特別詳細,如果想具體了解它們可以查閱官方文檔:https://git-scm.com/docs/git-config/。