關(guān)于 Git 的一些使用技巧

~/.gitconfig 文件

在第一次使用Git來(lái)提交代碼到倉(cāng)庫(kù)時(shí)漂羊,你可能需要進(jìn)行一些基礎(chǔ)配置,如下:

  git config --global user.email "you@email.com"
  git config --global user.name "Your Name"

你可能沒(méi)有意識(shí)到卸留,上面的命令其實(shí)是在修改/.gitconfig文件中的內(nèi)容,/.gitconfig存儲(chǔ)的是git的全局配置走越,可以對(duì) Git 配置進(jìn)行很多操作。包括git命令別名的命名耻瑟,打開(kāi)或關(guān)閉特定的選項(xiàng)旨指,git diff使用何種算法或者git merge默認(rèn)使用什么策略。

如下面就是我定義的git log的一些別名喳整。

 [alias]
      lg = !"git lg1"
      lg1 = !"git lg1-specific --all"
      lg2 = !"git lg2-specific --all"
      lg3 = !"git lg3-specific --all"

倉(cāng)庫(kù)中的.gitconfig文件

在上面配置命令中谆构,參數(shù) --global 告訴git更新全局的配置文件,也即是~/.gitconfig文件,如果省略--global參數(shù)框都,git將更新指定倉(cāng)庫(kù)的配置搬素,該配置文件存在.git/config中。

.git/config文件中的設(shè)置將覆蓋~/.gitconfig文件中的配置魏保。所以熬尺,如果你需要為指定的倉(cāng)庫(kù)使用不同的用戶地址。只需要省略--global即可谓罗,在倉(cāng)庫(kù)下運(yùn)行g(shù)it config user.email "your@example.com"即可粱哼,如下面我執(zhí)行命令后config文件多出了[user]選擇。

[user]
   email = test@zhoushuai.com

幾乎任何可以在~/.gitconfig中的配置檩咱,你也可以在.git/config中設(shè)置揭措,從而在指定的倉(cāng)庫(kù)中使用。

定義別名

別名的設(shè)置可以在~/.gitconfig文件中配置税手,就像shell的別名一樣給一個(gè)命令換個(gè)名字蜂筹。如執(zhí)行
git config --global --add alias.lg log,運(yùn)行g(shù)it lg將和git log相同芦倒,其實(shí)在定義別名的時(shí)候直接修改~/.gitconfig文件來(lái)得更直接艺挪。

可視化提交視圖

如果你在一個(gè)有很多分支活動(dòng)的項(xiàng)目上工作,有時(shí)很難掌握正在發(fā)生的所有工作以及他們是如何工作的兵扬。當(dāng)然也有各種GUI工具麻裳,如source tree等,如果你是一個(gè)命令行愛(ài)好者或者認(rèn)為切換工具分散注意力器钟,那么用 git 命令行來(lái)獲取提交視圖是很好的津坑。這時(shí)候git log 命令的 --graph就發(fā)揮作用了。

以下是可視化倉(cāng)庫(kù)的提交視圖命令傲霸。

git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relativ

git add -p

使用git的最好做法是確保每次提交只包含一個(gè)邏輯修改疆瑰,無(wú)論是修復(fù)錯(cuò)誤還是新增功能眉反。但是有時(shí)候,還是會(huì)進(jìn)行多次提交穆役。怎么設(shè)法把它分開(kāi)寸五,以便每次提交只包含適當(dāng)?shù)母淖儭it add --path派上用場(chǎng)了耿币。

添加這個(gè)參數(shù)后梳杏,執(zhí)行 git add 命令將會(huì)查看工作區(qū)副本中的所有更改,并且對(duì)于每一個(gè)更改都將提示你是否將其分階段提交淹接,跳過(guò)它或者延遲操作十性。官方介紹的就是交互式的操作。git add -p 是生成結(jié)構(gòu)良好的提交的最佳工具塑悼。

假設(shè)你對(duì)單個(gè)文件進(jìn)行了多次更改劲适,并希望他們出現(xiàn)在單獨(dú)的提交中。在這種情況下加上 -p 參數(shù)拢肆。

git add -p [filename]

git blame

blame這個(gè)單詞就十分的形象生動(dòng)减响,找出是誰(shuí)的責(zé)任,這個(gè)命令便于我們找出問(wèn)題郭怪,此命令會(huì)顯示文件中每一行的作者。

git blame <filename>

執(zhí)行 git blame config.toml ,顯示如下:

^9ffbfd8 (xiaozhang        2018-10-06 18:19:13 +0800 10)
^9ffbfd8 (xiaozhang        2018-10-06 18:19:13 +0800 11) [params]
a558046f (xiaozhang 2019-03-02 00:40:04 +0800 12) subtitle = "Go語(yǔ)言刊橘、Golang鄙才、IT互聯(lián)網(wǎng)、文學(xué)促绵、藝術(shù)"
^9ffbfd8 (xiaozhang        2018-10-06 18:19:13 +0800 13) keywords = "Go語(yǔ)言,Golang"
7bb650fa (xiaozhang        2018-10-06 21:50:12 +0800 14) busuanzi = true
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末攒庵,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子败晴,更是在濱河造成了極大的恐慌浓冒,老刑警劉巖,帶你破解...
    沈念sama閱讀 223,002評(píng)論 6 519
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件尖坤,死亡現(xiàn)場(chǎng)離奇詭異稳懒,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)慢味,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,357評(píng)論 3 400
  • 文/潘曉璐 我一進(jìn)店門(mén)场梆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人纯路,你說(shuō)我怎么就攤上這事或油。” “怎么了驰唬?”我有些...
    開(kāi)封第一講書(shū)人閱讀 169,787評(píng)論 0 365
  • 文/不壞的土叔 我叫張陵顶岸,是天一觀的道長(zhǎng)腔彰。 經(jīng)常有香客問(wèn)我,道長(zhǎng)辖佣,這世上最難降的妖魔是什么萍桌? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 60,237評(píng)論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮凌简,結(jié)果婚禮上上炎,老公的妹妹穿的比我還像新娘。我一直安慰自己雏搂,他們只是感情好藕施,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,237評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著凸郑,像睡著了一般裳食。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上芙沥,一...
    開(kāi)封第一講書(shū)人閱讀 52,821評(píng)論 1 314
  • 那天诲祸,我揣著相機(jī)與錄音,去河邊找鬼而昨。 笑死救氯,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的歌憨。 我是一名探鬼主播着憨,決...
    沈念sama閱讀 41,236評(píng)論 3 424
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼务嫡!你這毒婦竟也來(lái)了甲抖?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 40,196評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤心铃,失蹤者是張志新(化名)和其女友劉穎准谚,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體去扣,經(jīng)...
    沈念sama閱讀 46,716評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡柱衔,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,794評(píng)論 3 343
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了厅篓。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片秀存。...
    茶點(diǎn)故事閱讀 40,928評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖羽氮,靈堂內(nèi)的尸體忽然破棺而出或链,到底是詐尸還是另有隱情,我是刑警寧澤档押,帶...
    沈念sama閱讀 36,583評(píng)論 5 351
  • 正文 年R本政府宣布澳盐,位于F島的核電站祈纯,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏叼耙。R本人自食惡果不足惜腕窥,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,264評(píng)論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望筛婉。 院中可真熱鬧簇爆,春花似錦、人聲如沸爽撒。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,755評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)硕勿。三九已至哨毁,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間源武,已是汗流浹背扼褪。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,869評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留粱栖,地道東北人话浇。 一個(gè)月前我還...
    沈念sama閱讀 49,378評(píng)論 3 379
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像查排,于是被迫代替她去往敵國(guó)和親凳枝。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,937評(píng)論 2 361

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

  • Git使用教程:https://blog.csdn.net/tgbus18990140382/article/de...
    SkTj閱讀 2,806評(píng)論 1 11
  • Git常用語(yǔ)法 [TOC] Git簡(jiǎn)介 描述 ? Git(讀音為/g?t/跋核。)是一個(gè)開(kāi)源的分布式版本控制系統(tǒng),...
    君惜丶閱讀 3,537評(píng)論 0 13
  • 關(guān)注公眾號(hào):“程序員成長(zhǎng)軟技能” 叛买,日拱一卒砂代,功不唐捐!13個(gè)Git小技巧率挣,讓你擁有更有用更強(qiáng)大的代碼版本控制經(jīng)...
    數(shù)大招瘋閱讀 448評(píng)論 0 0
  • git作為時(shí)下最流行的代碼管理工具刻伊,Git權(quán)威指南總結(jié)了十條喜歡Git的理由: 異地協(xié)同工作; 現(xiàn)場(chǎng)版本控制椒功; 重...
    古斟布衣閱讀 1,828評(píng)論 0 12
  • 6月4日復(fù)盤(pán) 早起 6:02完成? 每日三目標(biāo) 1.60s練習(xí) ? 2.讀《人生效率手冊(cè)》? 3. 專業(yè)知識(shí) ? ...
    愛(ài)尚_c631閱讀 178評(píng)論 0 0