Git從入門到精通1——Config命令小覷

Git命令行的通用形式如下:

git <git-options> <command> <command-options> <operands>
git <git選項(xiàng)> <命令> <命令選項(xiàng)> <操作數(shù)(可以不止1個(gè))>

對于選項(xiàng)馏臭,可以是英文單詞全拼括儒,也可以是縮寫锐想,如果是全拼,那么就用兩個(gè)橫線(--)來引導(dǎo);如果是簡稱隘谣,則使用一個(gè)橫線(-)來引導(dǎo)。

本文從配置用戶名和email這個(gè)使用Git第一步需要做的配置開始掘鄙,解釋Git的config命令的使用,以及以點(diǎn)帶面展開相關(guān)的重要內(nèi)容收津,想到哪兒說到哪兒浊伙。

1. 讓Git知道你是誰

Git使用名字和email來識別一個(gè)人的身份,這樣在一個(gè)源控制系統(tǒng)中Git就可以追蹤某個(gè)用戶干了些什么吻贿。

git config --global user.name "南山九叔"
git config --global user.email "xqlu@tsinghua.info"

其中command(命令)就是config哑子,--global就是命令行選項(xiàng)(command-options)肌割,因?yàn)間lobal是單詞全拼帐要,所以這里是雙橫線--引導(dǎo)選項(xiàng)。

user.name "南山九叔"
user.name "xqlu@tsinghua.info"
是兩個(gè)操作數(shù)

上面這條語句榨惠,翻譯成正常人的話,就是:配置global文件中的user.name參數(shù)為南山九叔耽装、user.name參數(shù)為xqlu@tsinghua.info简烤。

如果設(shè)置完以后,忘了自己設(shè)置的名字和email横侦,如何是好?

可以重新配置引瀑,也就是說user.name和user.email是隨時(shí)可以改的榨馁。

2. config配置的不同作用域

Git可以同時(shí)跟蹤許多個(gè)倉庫,因此為每一個(gè)倉庫配置一次很繁瑣翼虫,甚至?xí)簦訥it提供了三個(gè)級別的作用域:系統(tǒng)(system)掸宛、全局(global)和本地(local)招拙,以指定配置參數(shù)的作用范圍。

(1)系統(tǒng)(system)級別

配置信息在系統(tǒng)(電腦)上所有倉庫有效饰序,除非在一個(gè)更具體的(更低級別)級別上對其重寫规哪,否則他對系統(tǒng)上所有的倉庫有效。比如我使用的是一臺windows 10系統(tǒng)的電腦,電腦上有“南山九叔”猾蒂、“xqlu”是晨、“Admin”三個(gè)用戶,配置成system級別的參數(shù)對電腦上所有的用戶的倉庫都有效罩缴。

要在系統(tǒng)級別進(jìn)行配置,應(yīng)該指定system范圍烙荷,即config命令后跟--system選項(xiàng)檬寂。例如:

git config --system user.name "南山九叔"
git config --system user.?email?"xqlu@tsinghua.info

(2)全局(global)級別

配置信息對電腦上當(dāng)前登錄用戶的所有倉庫有效,除非在一個(gè)更具體的(更低級別)級別上對其重寫昼伴。比如我使用的是一臺windows 10系統(tǒng)的電腦镣屹,電腦上有“南山九叔”、“xqlu”女蜈、“Admin”三個(gè)用戶。當(dāng)前登錄的是xqlu逸寓,那么配置成global級別的參數(shù)對xqlu的所有倉庫都有效覆山,而對南山九叔和Admin這兩個(gè)用戶無效。

要在全局級別進(jìn)行配置汹买,文件應(yīng)該選擇--global聊倔,即給config命令指定--global選項(xiàng)。例如:

git config --global user.name "南山九叔"

git config --global user.?email?"xqlu@tsinghua.info

(3)本地(local)級別

配置信息默認(rèn)將在Git倉庫下的.git/config文件中(或者也有可能被存儲(chǔ)在Git目錄被分配到的任何位置之下的config子目錄中)见妒,local是一個(gè)具體的(有效范圍小甸陌,但是級別更高)配置盐股,它能夠覆蓋掉system和global的配置耻卡,這就是配置重寫。

比如我使用的是一臺windows 10系統(tǒng)的電腦幌蚊,電腦上有“南山九叔”溃卡、“xqlu”、“Admin”三個(gè)用戶瘸羡。當(dāng)前登錄的是xqlu,我有a队他、b冷尉、c三個(gè)倉庫,那么在c倉庫上配置成local級別的參數(shù)僅對c倉庫都有效雀哨,而對a和b倉庫無效。

要在local級別進(jìn)行配置膊夹,文件應(yīng)該選擇--local捌浩,即給config命令指定--local選項(xiàng)。例如:

git config --local core.autocrlf true

local是默認(rèn)級別进统,如果不顯性指定浪听,默認(rèn)的配置都是local級別。如下面的配置與上一句等價(jià):

git config core.autocrlf true

Git是如何實(shí)現(xiàn)不同級別配置的有效范圍的迹栓?

Git會(huì)以特定的搜索順序?qū)ふ遗渲茫谝淮握业脚渲弥缶褪褂眠@個(gè)配置酥郭。首先是local,然后是global不从,最后是system,這就保障了優(yōu)先級級別local>global>system载弄。如Figure 1所示撵颊。

Git中所有級別的配置總和就形成了處理一個(gè)倉庫時(shí)所使用的配置值的超集。

Figure 1. Git配置文件的有效范圍

3. 查看config的配置值

如何查看配置值呢逞刷?只要在git bash中使用該配置命令(后面不要跟任何配置值)妻熊,就會(huì)顯示出該項(xiàng)的配置值。

git config <setting>

例如我要看當(dāng)前倉庫的user.name是誰帆喇,只需要如下命令:

git config user.name

git bash會(huì)輸出user.name的配置值亿胸,假如沒有配置,我們可以用如下命令在global域進(jìn)行配置(配置到其他域也可以):

git config --global user.name "南山九叔"

細(xì)心的用戶會(huì)發(fā)現(xiàn)侈玄,這里我并沒有指定是system還是global還是local范圍,所以Git會(huì)自動(dòng)去按照上一節(jié)說的搜索順序搜索突颊。

4. 移除config的配置值

如果我們想移除某一個(gè)級別上的一個(gè)用戶設(shè)置潘悼,Git提供了unset選項(xiàng),后面跟操作數(shù)棒动,指定移除那個(gè)級別的什么配置肝劲。

git config --unset <其它選項(xiàng)> <要移除的值>

舉個(gè)例子會(huì)說的更清楚:

git config --unset --local user.name

移除操作不會(huì)返回任何消息,這是linux一貫的響應(yīng)風(fēng)格辞槐。到底有沒有移除?我們可以使用上一節(jié)說的查看config配置值的方法查看卜范。

5. 列出config的配置清單

上面給出了查看某個(gè)配置項(xiàng)的值的方法鹿榜,這樣可以精確的去看當(dāng)前倉庫有效的配置值(因?yàn)樗凑者m配優(yōu)先級給出的配置值,所以是有效的)奥裸。但是如果我想看所有的配置項(xiàng)呢沪袭?可以使用list選項(xiàng)來實(shí)現(xiàn)這個(gè)夢想。具體如下:

git config --list

Figure 2. --list選項(xiàng)列出所有的配置項(xiàng)

上面的命令將列出所有的設(shè)置值侠鳄,而且是沒有去適配的死宣,也是就是說system、global和local都會(huì)列在清單里毅该,這樣你得到的清單中同一個(gè)項(xiàng)目可能有多個(gè)值,這就是因?yàn)樗麄儊碜圆煌淖饔糜蛱ǘⅰ榱吮苊膺@種多個(gè)值出現(xiàn)的情況畏线,可以限定作用域,列出某一個(gè)作用范圍內(nèi)的配置清單寝殴,例如我們要看local作用范圍的清單,可以使用如下命令:

git config --list --local

這里特別要指出市咽,選項(xiàng)是沒有順序區(qū)分的抵蚊,上一句與下面這句的作用一樣溯革。

git config --local?--list

Figure 3. 在local作用域列出配置清單

6. 配置文件到底在哪里致稀?

配置項(xiàng)都是來自于config文件的俱尼,config是一個(gè)純文本文件,可以使用任何文本文件查看器或編輯器查看遇八。那我的配置文件到底在哪里?可以使用--show-origin選項(xiàng)來溯源货矮。例如我想知道我的user.name 配置在什么地方斯够,可以是使用如下命令:

git config --show-origin user.name

如Figure 4所示,顯示當(dāng)前生效的user.name的配置在file:F:/Users/xqlu/AppData/Roaming/SPB_Data/.gitconfig中雳刺,配置值為xqlu掖桦。

Figure 4. git bash中查找user.name這一項(xiàng)的配置文件在哪里(Windows 10教育版)

7. 一次性配置

確實(shí)存在一次性配置這種配置方法,臨時(shí)配置僅僅在本次會(huì)話中有效枪汪。但是……我真心不推薦,這是一種非標(biāo)準(zhǔn)化的開發(fā)方式宿稀,這里我就不說了赖捌,確實(shí)好奇有這個(gè)想法的朋友可以自己去查資料。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末罩锐,一起剝皮案震驚了整個(gè)濱河市卤唉,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌竭恬,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,884評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件问芬,死亡現(xiàn)場離奇詭異寿桨,居然都是意外死亡强戴,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,755評論 3 385
  • 文/潘曉璐 我一進(jìn)店門预烙,熙熙樓的掌柜王于貴愁眉苦臉地迎上來道媚,“玉大人,你說我怎么就攤上這事最域。” “怎么了牺蹄?”我有些...
    開封第一講書人閱讀 158,369評論 0 348
  • 文/不壞的土叔 我叫張陵薄翅,是天一觀的道長。 經(jīng)常有香客問我鼎天,道長暑竟,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,799評論 1 285
  • 正文 為了忘掉前任绩鸣,我火速辦了婚禮纱兑,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘潜慎。我一直安慰自己蓖康,他們只是感情好垒手,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,910評論 6 386
  • 文/花漫 我一把揭開白布科贬。 她就那樣靜靜地躺著,像睡著了一般榜掌。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上套硼,一...
    開封第一講書人閱讀 50,096評論 1 291
  • 那天胞皱,我揣著相機(jī)與錄音,去河邊找鬼反砌。 笑死,一個(gè)胖子當(dāng)著我的面吹牛呆贿,可吹牛的內(nèi)容都是我干的森渐。 我是一名探鬼主播,決...
    沈念sama閱讀 39,159評論 3 411
  • 文/蒼蘭香墨 我猛地睜開眼竟块,長吁一口氣:“原來是場噩夢啊……” “哼耐齐!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起埠况,我...
    開封第一講書人閱讀 37,917評論 0 268
  • 序言:老撾萬榮一對情侶失蹤辕翰,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后喜命,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體河劝,經(jīng)...
    沈念sama閱讀 44,360評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡赎瞎,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,673評論 2 327
  • 正文 我和宋清朗相戀三年颊咬,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片敞临。...
    茶點(diǎn)故事閱讀 38,814評論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡杭隙,死狀恐怖因妙,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情铣耘,我是刑警寧澤以故,帶...
    沈念sama閱讀 34,509評論 4 334
  • 正文 年R本政府宣布,位于F島的核電站怒详,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏吊骤。R本人自食惡果不足惜静尼,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,156評論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望鸭巴。 院中可真熱鬧拦盹,春花似錦鹃祖、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽地熄。三九已至芯杀,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間揭厚,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,123評論 1 267
  • 我被黑心中介騙來泰國打工裂明, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留太援,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,641評論 2 362
  • 正文 我出身青樓仙蛉,卻偏偏與公主長得像碱蒙,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子赛惩,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,728評論 2 351

推薦閱讀更多精彩內(nèi)容

  • 弘揚(yáng)傳統(tǒng)文化 展示中學(xué)生風(fēng)采 增強(qiáng)法制安全意識 過個(gè)快樂健康暑假 讓青春閃耀出光芒 讓生命煥發(fā)出精彩
    閔行二中閱讀 5,280評論 0 1
  • 1.最近有機(jī)會(huì)跟老公說上了一些話喷兼,忽然覺得自己變成了熱愛思考的人。 這樣說起來未免可憐兮兮褒搔,不過,即便是住在院子里...
    守望清橙閱讀 386評論 2 12