我們來diff一下吧

由于我在最近的項目中修改的文件很多粱哼,所以在上線前會審查一下自己的代碼,和之前的版本diff一下檩咱。經(jīng)過自己的實踐揭措,掌握了一點點技巧,給大家分享一下刻蚯,歡迎吐槽交流绊含。本文將會涉及git命令行工具,Araxis Merge炊汹,Github網(wǎng)頁diff, SourceTree等工具的diff方法躬充。

?1 .git 命令行工具
當(dāng)diff的文件只是一個或幾個文件時,使用命令行手動diff讨便,直接在命令行敲命令比較方便

  • 查看一個文件的commit歷史
git log -- filepath

結(jié)果如下充甚,會列出這個文件的最近的修改歷史:


  • 查看一個文件的commit歷史和詳細(xì)的修改內(nèi)容
git log -p -- filepath

結(jié)果如下:


這個diff方法可以查看最近幾次的簡單的修改,如果只是查看最近一兩次簡單的修改?還ok霸褒,但如果一個文件首先加入了一些代碼伴找,然后這些代碼又被多次修改,這是很常見的事情废菱,我們想查看我們從一次提交到另外一次提交到底修改了什么技矮,這個命令就顯得不夠用了,這時我們使用下一個命令殊轴。

  • 查看一個文件的兩次commit之間的修改
git diff commit1:filepath commit2:filepath

舉例來說衰倦,首先我們直接用git log找到我們需要diff的兩次提交的commit id,然后找到diff某個文件:


這個命令會直接將這兩次提交之間的修改diff出來梳凛,十分方便耿币。此外梳杏,你也可以直接查看這個版本以來這個文件被修改了什么內(nèi)容:


直接使用分支名或者標(biāo)簽名來代替commit id是可以的韧拒,因為git中分支和標(biāo)簽僅僅是指向節(jié)點的指針淹接,代表一個節(jié)點。

diff命令也可以直接對比兩個結(jié)點之間的所有文件的修改叛溢,然而當(dāng)修改的文件過多時塑悼,這個命令在命令行中感覺并不好用,因為顯示的文件太多了楷掉,比較亂厢蒜。

git diff commit1 commit2

查看歷史修改內(nèi)容我一直使用的是Github客戶端,用了很久了烹植,感覺拿它來查看文件的修改和提交歷史還是挺不錯的斑鸦。下載這個工具請參考:https://desktop.github.com/

2 .Araxis Merge工具
Araxis Merge工具是我在項目對比中使用的最早的對比工具,這個工具可以對比兩個文件或兩個文件夾草雕,顯示的對比界面其實還是比較容易看的巷屿,但這個工具只能對比兩個文件夾,所以diff之前墩虹,我首先需要先把我的項目文件夾copy一?份嘱巾,然后把兩個文件夾拖進(jìn)Araxis Merge的窗口中,然后它會自動進(jìn)行diff诫钓。我不太喜歡每次diff前copy旬昭,讓我覺得很麻煩(還有個原因可能是我覺得它界面不fashion?顯得比較笨)菌湃,不過它的樹形展示結(jié)構(gòu)還不錯问拘,所以這里給出一個效果截圖,有興趣的同學(xué)自己下一個玩一玩惧所。


3 .github網(wǎng)頁diff工具
這個工具我只是在查找這些工具時發(fā)現(xiàn)的场梆,主要是對github倉庫中的代碼進(jìn)行diff,按照如下格式訪問url即可纯路。

http://github.com/<USER>/<REPO>/compare/[<START>...]<END>

樣例請參考:
https://github.com/MRsummer/SmartStore/compare/acc99525ea687dd106863ff318455da48105205f...347196690ff75f2562f151990716914d1bc36f70

結(jié)果是一個包含了提交歷史記錄和修改文件的列表的網(wǎng)頁或油,效果圖如下,我只能說相比之前的diff好看很多好嘛-_-||驰唬,然而公司的項目并不在github上:


想要了解github這個工具的更多詳情顶岸,請參考
https://github.com/blog/612-introducing-github-compare-view

4 .SourceTree
SourceTree是我找到的最好用的diff工具吧,長相雖然不算好看叫编,也不算丑吧辖佣。先看看它長什么樣子:

這個軟件我才用不久,兩個diff方法我挺喜歡的:

  • 查看單個文件的修改歷史
    在左下的框框中選中需要diff的文件搓逾,呼出菜單卷谈,第一個選項叫做查看選中的修改日志,點擊進(jìn)入文件的修改詳情列表


    然后可以看到對這個文件的修改記錄霞篡,看起來就像是diff命令行的圖形化版本世蔗。

  • diff神技
    在上一個界面端逼,Mac按住command鍵,再選擇一行污淋,Oh I'm shocked顶滩。


    直接顯示出了這個文件的兩次提交的diff,行數(shù)和修改都列的很清楚寸爆。感覺還不夠方便礁鲁? 回到提交歷史界面,按住command鍵選擇兩次提交赁豆,直接顯示出這兩次提交的所有文件的diff仅醇,速度相當(dāng)快。

    使用第一方法可以直接review文件魔种,第二種方法可以直接review整個項目着憨,我覺得都是很方便的。SourceTree這個軟件也是免費的务嫡,官網(wǎng)地址
    https://www.sourcetreeapp.com/

歡迎討論吐槽甲抖!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市心铃,隨后出現(xiàn)的幾起案子准谚,更是在濱河造成了極大的恐慌,老刑警劉巖去扣,帶你破解...
    沈念sama閱讀 217,509評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件柱衔,死亡現(xiàn)場離奇詭異,居然都是意外死亡愉棱,警方通過查閱死者的電腦和手機(jī)唆铐,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來奔滑,“玉大人艾岂,你說我怎么就攤上這事∨笃洌” “怎么了王浴?”我有些...
    開封第一講書人閱讀 163,875評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長梅猿。 經(jīng)常有香客問我氓辣,道長,這世上最難降的妖魔是什么袱蚓? 我笑而不...
    開封第一講書人閱讀 58,441評論 1 293
  • 正文 為了忘掉前任钞啸,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘体斩。我一直安慰自己梭稚,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,488評論 6 392
  • 文/花漫 我一把揭開白布硕勿。 她就那樣靜靜地躺著哨毁,像睡著了一般枫甲。 火紅的嫁衣襯著肌膚如雪源武。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,365評論 1 302
  • 那天想幻,我揣著相機(jī)與錄音粱栖,去河邊找鬼。 笑死脏毯,一個胖子當(dāng)著我的面吹牛闹究,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播食店,決...
    沈念sama閱讀 40,190評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼渣淤,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了吉嫩?” 一聲冷哼從身側(cè)響起价认,我...
    開封第一講書人閱讀 39,062評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎自娩,沒想到半個月后用踩,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,500評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡忙迁,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,706評論 3 335
  • 正文 我和宋清朗相戀三年脐彩,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片姊扔。...
    茶點故事閱讀 39,834評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡惠奸,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出恰梢,到底是詐尸還是另有隱情晨川,我是刑警寧澤,帶...
    沈念sama閱讀 35,559評論 5 345
  • 正文 年R本政府宣布删豺,位于F島的核電站共虑,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏呀页。R本人自食惡果不足惜妈拌,卻給世界環(huán)境...
    茶點故事閱讀 41,167評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧尘分,春花似錦猜惋、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,779評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至定续,卻和暖如春谍咆,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背私股。 一陣腳步聲響...
    開封第一講書人閱讀 32,912評論 1 269
  • 我被黑心中介騙來泰國打工摹察, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人倡鲸。 一個月前我還...
    沈念sama閱讀 47,958評論 2 370
  • 正文 我出身青樓供嚎,卻偏偏與公主長得像,于是被迫代替她去往敵國和親峭状。 傳聞我的和親對象是個殘疾皇子克滴,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,779評論 2 354

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

  • 1. 安裝 Github 查看是否安裝git: $ git config --global user.name "...
    Albert_Sun閱讀 13,661評論 9 163
  • 不知不覺中,關(guān)于心理學(xué)的文章也寫了好幾個月了优床,但是始終沒有寫完劝赔。所以呢,最近決定加快速度羔巢,在最近的幾天內(nèi)把心理學(xué)相...
    地平線上的背影閱讀 2,147評論 0 0
  • 喚醒49-11 允許 你越允許 生活越輕易 當(dāng)我們成長望忆,克服了恐懼,我們便能...
    我和榕樹閱讀 285評論 2 0
  • 這是什么地方呢竿秆,是一個沒有沙塵的地方启摄,是我去過只去了機(jī)場的地方,是我從飛機(jī)上往下看的時候幽钢,我就在思考歉备,可能從那以后...
    麻木木閱讀 270評論 1 0
  • 人生就像一場戲!演好了你是一個明星匪燕!演不好蕾羊,你就是一個小丑!看自己年輕這段時光帽驯,著實是把自己演成一個無比傻逼的小丑...
    浪子麒麟閱讀 176評論 0 0