Git log diff config高級進(jìn)階

Git 歷史相關(guān)和 git config 高級進(jìn)階

前一段時間分享了一篇《更好的 git log》簡要介紹怎么美化 git log 命令篮迎,其中提到了 alias命令,今天再繼續(xù)談?wù)?git相關(guān), 看看如何通過配置自己的 git config 讓自己的 git 用起來更順手淳玩。

git log 進(jìn)階

在一行顯示 git log

git log --pretty =oneline在一行顯示 git log.

git log --oneline --stat ,顯示每個文件的變化行數(shù)侨糟,其中后面跟的--start參數(shù)是用來統(tǒng)計哪些文件被改動怠惶,有多少行被改動。

git log --oneline --graph轮傍,則可以圖形化地顯示 branch 的變化(方便查看 merge 變化)暂雹。

查看不同時間段的 git log

git log --until=1.minute.ago // 一分鐘之前的所有 log
git log --since=1.day.ago //一天之內(nèi)的log
git log --since=1.hour.ago //一個小時之內(nèi)的 log
git log --since=`.month.ago --until=2.weeks.ago //一個月之前到半個月之前的log
git log --since ==2013-08.01 --until=2013-09-07 //某個時間段的 log

如果你想更加個性化地設(shè)置 git log 輸出的不同參數(shù)的顏色,可以使用如下命令

git log --pretty=format:"%h %ad- %s [%an]"

其中的參數(shù)對應(yīng)的是

%ad  author data  // 日期
%an author name // 作者名
%cn committer name //提交者姓名
%h SHA hash // hash值
%s subject //commit的描述
%d  ref names //對應(yīng)的 branch 分支名

更多的選項可以使用git help log 來看看创夜,如我在《更好的 git log》中提到的杭跪,你可以通過alias 來創(chuàng)建一個簡潔的git lg 命令來定制自己喜歡的輸出方案。

git diff 進(jìn)階

git diff 是用來比較版本之間的差異變化 balbalbala 之類的驰吓,哪里修改了涧尿,哪里添加了 balbalbala

git diff HEAD //與上次 commit 之間的差別(爸爸)
git diff HEAD^ //與上上次(爺爺)
git diff HEAD^^ //與上上上次(曾祖父)
git diff HEAD~5 //與前面第5次commit(好吧…祖先吧)
git diff HEAD^..HEAD //中間是兩個點比較(爸爸)和(爺爺)的差別
git diff f5fdjsalfjdskaf..4fdklsajfdksaf //比較 兩個不同 hash 值記錄之間的不同
git diff master bird //比較 branch 之間的不同
git diff --since=1.week.ago --until=1.minute.ago //還可以根據(jù)時間來比較哦

git blame

如果你想要看看某一個文件的相關(guān)歷史記錄,可以使用git blame 命令檬贰。
git blame index.html --data short

blame
blame

git config進(jìn)階

config 就是配置的意思姑廉,git config 字如其意,就是 git 的配置文件翁涤,git config 文件有三層桥言。
第一層config是在系統(tǒng)層etc/gitconfig萌踱, 可以通過使用 git config --system來進(jìn)行配置,此層gitcofnig 配置針對系統(tǒng)所有用戶的分支都有效号阿。

第二層是~/.gitconfig虫蝶,針對某個用戶有效,針對此層設(shè)置使用的是git config --global命令倦西。

第三層是項目文件夾中的配置文件能真,比如說我有一個 project1的文件夾,project1/.git/config就是在這個 repo 中使用的 gitconfig 配置扰柠。直接使用git config 就能進(jìn)行配置粉铐。

基礎(chǔ)配置

git config --help,使用這個命令可以列出 git config 的幫助列表。
而使用git config --list,則可以顯示你目前的 git config 配置卤档。

用戶信息配置

git config --global user.name "will luo" //
git config --global user.emal "i@luolei.org" //

顏色設(shè)置

git config --global color.ui true //

git 在終端顯示會有顏色

color.*

如果你想針對不同的 git 命令輸出不同的配色蝙泼,你可以使用 color.[command-type] 命令。

color.branch 
color.diff
color.interactive
color.status

以上參數(shù)都能設(shè)置true,false,always劝枣。

git config --global color.diff.meta "blue black bold"

這段代碼的意思就是git diff 輸出的「git 改變的信息(diff)」 以粗體汤踏、藍(lán)色前景、黑色背景的形式展現(xiàn)舔腾。
能設(shè)置的顏色值包括
normal, black, red, green, yellow, blue, magenta, cyan, white.溪胶,字體屬性則有bold, dim, ul, blink, reverse.

ALIASES

git config --global alias.mylog "log --pretty=format:'%h %ad- %s [%an]' --graph "

git config --global --add alias.lol "log --graph --decorate --pretty=oneline --abbrev-commit --all"

這樣就自定義git mylog,和git lol兩個命令,至于是什么樣的效果稳诚,大家就根據(jù)代碼的意思領(lǐng)悟和學(xué)習(xí)一下吧哗脖。

對于我們?nèi)粘3S玫?git 命令,我們可以通過

git config --global alias.st status //status 縮寫成 st
git config --global alias.co checkout //checkout 縮寫成 co
git config --global alias.br branch //branch 縮寫成 br
git config --global alias.ci commit //commit 縮寫成 ci

大家可以根據(jù)自己的喜好來縮寫扳还,當(dāng)然才避,到時候別忘了備份自己的 config 文件(可參考我的博文dotfiles新手教程)。

原文地址羅磊的獨立博客:「Git log diff config高級進(jìn)階」

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末氨距,一起剝皮案震驚了整個濱河市桑逝,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌俏让,老刑警劉巖楞遏,帶你破解...
    沈念sama閱讀 206,013評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異舆驶,居然都是意外死亡橱健,警方通過查閱死者的電腦和手機(jī)而钞,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,205評論 2 382
  • 文/潘曉璐 我一進(jìn)店門沙廉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人臼节,你說我怎么就攤上這事撬陵∩好螅” “怎么了?”我有些...
    開封第一講書人閱讀 152,370評論 0 342
  • 文/不壞的土叔 我叫張陵巨税,是天一觀的道長蟋定。 經(jīng)常有香客問我,道長草添,這世上最難降的妖魔是什么驶兜? 我笑而不...
    開封第一講書人閱讀 55,168評論 1 278
  • 正文 為了忘掉前任,我火速辦了婚禮远寸,結(jié)果婚禮上抄淑,老公的妹妹穿的比我還像新娘。我一直安慰自己驰后,他們只是感情好肆资,可當(dāng)我...
    茶點故事閱讀 64,153評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著灶芝,像睡著了一般郑原。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上夜涕,一...
    開封第一講書人閱讀 48,954評論 1 283
  • 那天犯犁,我揣著相機(jī)與錄音,去河邊找鬼女器。 笑死栖秕,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的晓避。 我是一名探鬼主播簇捍,決...
    沈念sama閱讀 38,271評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼俏拱!你這毒婦竟也來了暑塑?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,916評論 0 259
  • 序言:老撾萬榮一對情侶失蹤锅必,失蹤者是張志新(化名)和其女友劉穎事格,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體搞隐,經(jīng)...
    沈念sama閱讀 43,382評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡驹愚,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,877評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了劣纲。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片逢捺。...
    茶點故事閱讀 37,989評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖癞季,靈堂內(nèi)的尸體忽然破棺而出劫瞳,到底是詐尸還是另有隱情倘潜,我是刑警寧澤,帶...
    沈念sama閱讀 33,624評論 4 322
  • 正文 年R本政府宣布志于,位于F島的核電站涮因,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏伺绽。R本人自食惡果不足惜养泡,卻給世界環(huán)境...
    茶點故事閱讀 39,209評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望奈应。 院中可真熱鬧瓤荔,春花似錦、人聲如沸钥组。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,199評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽程梦。三九已至点把,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間屿附,已是汗流浹背郎逃。 一陣腳步聲響...
    開封第一講書人閱讀 31,418評論 1 260
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留挺份,地道東北人褒翰。 一個月前我還...
    沈念sama閱讀 45,401評論 2 352
  • 正文 我出身青樓,卻偏偏與公主長得像匀泊,于是被迫代替她去往敵國和親优训。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,700評論 2 345

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

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理各聘,服務(wù)發(fā)現(xiàn)揣非,斷路器,智...
    卡卡羅2017閱讀 134,599評論 18 139
  • git常用命令 GIT常用命令備忘:http://stormzhang.com/git/2014/01/27/gi...
    新篇章閱讀 8,456評論 1 26
  • Add & Commit git init 初始化一個 Git 倉庫(repository)躲因,即把當(dāng)前所在目錄變成...
    冬絮閱讀 4,789評論 0 8
  • 看過《單身指南(How to be Single)》這部電影的小伙伴大脉,應(yīng)該會知道這是一部關(guān)于對愛情自我覺醒的電影搞监。...
    Zoe妹子閱讀 627評論 0 2
  • Block使用場景,可以在兩個界面的傳值镰矿,也可以對代碼封裝作為參數(shù)的傳遞等琐驴。用過GCD就知道Block的精妙之處。...
    南風(fēng)無影閱讀 228評論 0 1