1. git config簡介
git config就是對git進行一些配置。而配置一般都是寫在配置檔案裡面,git裡面一共有3個配置檔案,首先是:倉庫級配置文
件:該檔案位於當前倉庫下,路徑.git/,檔名為.gitconfig,這個配置中的設定只對當前所在倉庫有效
第二個是全域性級配置檔案:win7下面路徑,在使用者目錄下,以個人的pc機為例,其路徑為:c:\users\show.ht,檔名為.gitconfig
最後是系統級配置檔案:本地git的安裝目錄下,以show的git安裝路徑為例:d:\program files\git\etc,檔名為:gitconfig,內容如下:
在git中,每一項的配置名稱又叫做「section」,
「section」下面的每一行對應著乙個key和乙個value。需要注意的是:系統級配置檔案不同於另外兩個配置檔案,是因為他少了
乙個點,因此用vim開啟的時候,是沒有高亮顯示的。」core」這個section在每個配置檔案中都有,那麼它git最終會呼叫哪個配置
檔案呢?這就要有乙個先後順序了。
2. 配置檔案如何生效的
對於git來說,配置檔案
的權重是倉庫》全域性》系統
。git會使用這一系列的配置檔案來儲存你定義的偏好,它首先會查詢/etc/gitconfig檔案(系統級),該
檔案含有對系統上所有使用者及他們所擁有的倉庫都生效的配置值。接下來git會查詢每個使用者的~/.gitconfig檔案(全域性級)。最後
git會查詢由使用者定義的各個庫中git目錄下的配置檔案.git/config(倉庫級),該檔案中的值只對當前所屬倉庫有效。以上闡述的三
層配置從一般到特殊層層推進,如果定義的值有衝突,以後面層中定義的為準,例如:.git/config和/etc/gitconfig的較量中,
.git/config取得了勝利。雖然你也可以直接手動編輯這些配置檔案,但是執行git config命令將會來得簡單些。下面我們就來看看如
何利用git config命令來編輯配置各個級別的檔案。
3. 用git config命令檢視配置檔案
命令引數 –list, 簡寫 -l
格式:git config [–-local|–-global|-–system] -l
檢視倉庫級的config,即.git/.config,命令:git config –-local -l
檢視全域性級的config,即c:\users\show.ht\.gitconfig,命令:git config –-global -l
檢視系統級的config,即d:\program files\git\etc\gitconfig,命令:git config –-system -l
檢視當前生效的配置,命令:git config -l
4. 使用git config命令編輯配置檔案
編輯的英文單詞是什麼,沒錯,edit
命令引數 –edit, 簡寫 -e
格式:git config [–-local|–-global|–-system] -e
檢視倉庫級的config,即.git/.config,命令:git config –-local -e,與–list引數不同的是,git config -e預設是編輯倉庫級的配置檔案。
檢視全域性級的config,即c:\users\******.ht\.gitconfig,命令:git config –-global -e
檢視系統級的config,即d:\program files\git\etc\gitconfig,命令:git config –-system -e
執行這個命令的時候,git會用配置檔案中設定的編輯器開啟配置檔案。
5. 增加乙個配置項
引數 –add
格式: git config [–local|–global|–system] –add section.key value(預設是新增在local配置中)
注意add後面的section,key,value一項都不能少,否則新增失敗。比如我們執行:git config –add cat.name tom
然後檢視local中的配置:
注意增加一項配置而不賦值 git config –add cat.age,或者單單增加乙個section,git config –add cat1,不會成功。
6.獲取乙個配置項
有時候,我們並不需要檢視所有配置的值,而是檢視某個配置項的值,怎麼做呢?
命令引數 –get
格式:git config [–local|–global|–system] –get section.key(預設是獲取local配置中內容)
我們先往global配置中寫入乙個cat.name=tomcat的配置項,再使用git config –get cat.name看看得到的是什麼
結果就是local中的cat.name=tom,因此git config –get section.key 等價於git config –local –get section.key
如果獲取乙個section不存在的key值,不會返回任何值
如果獲取乙個不存在的section的key值,則會報錯
7.刪除乙個配置項
命令引數 –unset
格式:git config [–local|–global|–system] –unset section.key
相信有了前兩個命令的使用基礎,大家舉一反三就知道改怎麼用了,來,我們試試刪除local配置中的cat.name
另外最近使用git 產生的乙個報錯
具體報錯
fatal: the remote end hung up unexpectedly
error: rpc failed; curl 18 transfer closed with outstanding read data remaining
解決方法
需要注意的是http.postbuffer 後,單位是b,524288000b也就500m左右
或者git config –-global -e進行編輯修改也行。
git 自定義配置(Linux)
讓git顯示顏色會讓命令輸入更加醒目 git config global color.ui true 有些檔案不能被提交,在git根目錄下建乙個特殊的 gitignore 把要忽略的檔名填進去,git會自動忽略這些檔案。touch gitignnore 在檔案內新增想要忽略的檔名,在將檔案提交。偷懶...
自定義git 配置別名
有沒有經常敲錯命令?比如git status?status這個單詞真心不好記。如果敲git st就表示git status那就簡單多了,當然這種偷懶的辦法我們是極力贊成的。我們只需要敲一行命令,告訴git,以後st就表示status git config global alias.st status...
Git學習 自定義Git
忽略特殊檔案 在工作區建立.gitignore檔案,編寫內容 windows thumbs.db ehthumbs.db desktop.ini python 忽略python編譯產生的.pyc pyo dist等檔案或目錄 py cod so egg egg info dist build my ...