git config命令使用

1. git config簡介

我們知道config是配置的意思,那麼git config命令就是對git進行一些配置。而配置一般都是寫在配置文件裏面,那麼git的配置文件在哪裏呢?互動一下,先問下大家。
你們所知的git配置文件是放在哪裏的?git有幾個配置文件呢?是的,聰明的你,稍微查查資料就知道咯,git裏面一共有3個配置文件,首先是:倉庫級配置文
件:該文件位於當前倉庫下,路徑.git/,文件名爲.gitconfig,這個配置中的設置只對當前所在倉庫有效倉庫級配置文件內容如下:
第二個是全局級配置文件:win7下面路徑,在用戶目錄下,以個人的PC機爲例,其路徑爲:C:\Users\zuoyu.ht,文件名爲.gitconfig
全局級配置文件內容如下:
最後是系統級配置文件:本地git的安裝目錄下,以左御的git安裝路徑爲例:D:\Program Files\Git\etc,文件名爲:gitconfig,內容如下:
從三個圖的對比中,我們可以發現,有些配置項的名稱是一樣的,比如“core”,在git中,每一項的配置名稱又叫做“section”,
“section”下面的每一行對應着一個key和一個value。需要注意的是:系統級配置文件不同於另外兩個配置文件,是因爲他少了
一個點,因此用vim打開的時候,是沒有高亮顯示的。”core”這個section在每個配置文件中都有,那麼它git最終會調用哪個配置
文件呢?這就要有一個先後順序了。
2. 配置文件如何生效的
用一個我們大家都熟悉的例子來比較,就是css。一般來說,在一個頁面中引入css文件的方法有三種,見:http://www.cnblogs.com/hutaoer/archive/2010/12/07/1899105.html
通俗的講就是行內樣式“<div style=“width:200px”>”,內嵌樣式“<style type=“text/css”>div{width:200px}</style>”
和外部樣式“<link rel=“stylesheet” href=“div.css”>”。這三種樣式的權重是行內>內嵌>外部。類似的,對於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\zuoyu.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\zuoyu.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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章