[git]merge和rebase的區(qū)別

轉(zhuǎn)自: http://www.cnblogs.com/xueweihan/p/5743327.html

前言
我從用git就一直用rebase举瑰,但是新的公司需要用merge命令,我不是很明白换况,所以查了一些資料,總結(jié)了下面的內(nèi)容盗蟆,如果有什么不妥的地方戈二,還望指正,我一定虛心學(xué)習(xí)姆涩。
merge和rebase
標(biāo)題上的兩個(gè)命令:merge和rebase都是用來合并分支的挽拂。
這里不解釋rebase命令,以及兩個(gè)命令的原理骨饿,詳細(xì)解釋參考這里亏栈。
下面的內(nèi)容主要說的是兩者在實(shí)際操作中的區(qū)別。
什么是分支
分支就是便于多人在同一項(xiàng)目中的協(xié)作開發(fā)宏赘。比方說:每個(gè)人開發(fā)不同的功能绒北,在各自的分支開發(fā)過程中互不影響,完成后都提交到develop分支察署。極大的提高了開發(fā)的效率闷游。
合并分支
每個(gè)人創(chuàng)建一個(gè)分支進(jìn)行開發(fā),當(dāng)開發(fā)完成贴汪,需要合并到develop分支的時(shí)候脐往,就需要用到合并的命令。
什么是沖突
合并的時(shí)候扳埂,有可能會(huì)產(chǎn)生沖突业簿。
沖突的產(chǎn)生是因?yàn)樵诤喜⒌臅r(shí)候,不同分支修改了相同的位置阳懂。所以在合并的時(shí)候git不知道那個(gè)到底是你想保留的梅尤,所以就提出疑問(沖突提醒)讓你自己手動(dòng)選擇想要保留的內(nèi)容柜思,從而解決沖突。
merge和rebase的區(qū)別
采用merge和rebase后巷燥,git log的區(qū)別赡盘,merge命令不會(huì)保留merge的分支的commit

處理沖突的方式:(一股腦)使用merge
命令合并分支,解決完沖突缰揪,執(zhí)行g(shù)it add .
和git commit -m'fix conflict'
陨享。這個(gè)時(shí)候會(huì)產(chǎn)生一個(gè)commit。
(交互式)使用rebase
命令合并分支邀跃,解決完沖突霉咨,執(zhí)行g(shù)it add .
和git rebase --continue
,不會(huì)產(chǎn)生額外的commit拍屑。這樣的好處是途戒,‘干凈’,分支上不會(huì)有無意義的解決分支的commit僵驰;壞處喷斋,如果合并的分支中存在多個(gè)commit
,需要重復(fù)處理多次沖突蒜茴。

git pull
和git pull --rebase
區(qū)別:git pull
做了兩個(gè)操作分別是‘獲取’和合并星爪。所以加了rebase就是以rebase的方式進(jìn)行合并分支,默認(rèn)為merge粉私。

git merge
和 git merge --no-ff
的區(qū)別
1顽腾、我自己嘗試merge
命令后,發(fā)現(xiàn):merge時(shí)并沒有產(chǎn)生一個(gè)commit诺核。不是說merge時(shí)會(huì)產(chǎn)生一個(gè)merge commit嗎抄肖?
注意:只有在沖突的時(shí)候,解決完沖突才會(huì)自動(dòng)產(chǎn)生一個(gè)commit窖杀。
如果想在沒有沖突的情況下也自動(dòng)生成一個(gè)commit漓摩,記錄此次合并就可以用:git merge --no-ff
命令,下面用一張圖來表示兩者的區(qū)別:


2入客、如果不加 --no-ff 則被合并的分支之前的commit都會(huì)被抹去管毙,只會(huì)保留一個(gè)解決沖突后的 merge commit。
如何選擇合并分支的方式
我的理解:主要是看那個(gè)命令用的熟練桌硫,能夠有效的管理自己的代碼夭咬;還有就是團(tuán)隊(duì)用的是那種方式。
我對(duì)于rebase比較熟悉铆隘,所以我一般都用rebase
皱埠,但是現(xiàn)在的公司用的是merge --no-ff
命令合并分支。所以咖驮,我在工作上就用merge边器,個(gè)人項(xiàng)目就用rebase。
也可以兩者結(jié)合:
獲取遠(yuǎn)程項(xiàng)目中最新代碼時(shí):git pull --rebase
托修,這個(gè)時(shí)隱性的合并遠(yuǎn)程分支的代碼不會(huì)產(chǎn)生而外的commit(但是如果存在沖突的commit太多就像上面說的忘巧,需要處理很多遍沖突)。

合并到分支的時(shí)候:git merge --no-ff
睦刃,自動(dòng)一個(gè)merge commit砚嘴,便于管理(這看管理人員怎么認(rèn)為了)

總結(jié)
看懂上面的兩幅圖就行了。
commit log的區(qū)別
處理沖突的方式

參考
Git Book
StackoverFlow:difference between merge and merge --no-ff ?
Source Tree Blog
Yu-Cheng Chuang’s Blog

分類: git

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末涩拙,一起剝皮案震驚了整個(gè)濱河市际长,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌兴泥,老刑警劉巖工育,帶你破解...
    沈念sama閱讀 223,207評(píng)論 6 521
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異搓彻,居然都是意外死亡如绸,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,455評(píng)論 3 400
  • 文/潘曉璐 我一進(jìn)店門旭贬,熙熙樓的掌柜王于貴愁眉苦臉地迎上來怔接,“玉大人,你說我怎么就攤上這事稀轨《笃辏” “怎么了?”我有些...
    開封第一講書人閱讀 170,031評(píng)論 0 366
  • 文/不壞的土叔 我叫張陵奋刽,是天一觀的道長瓦侮。 經(jīng)常有香客問我,道長杨名,這世上最難降的妖魔是什么脏榆? 我笑而不...
    開封第一講書人閱讀 60,334評(píng)論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮台谍,結(jié)果婚禮上须喂,老公的妹妹穿的比我還像新娘。我一直安慰自己趁蕊,他們只是感情好坞生,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,322評(píng)論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著掷伙,像睡著了一般是己。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上任柜,一...
    開封第一講書人閱讀 52,895評(píng)論 1 314
  • 那天卒废,我揣著相機(jī)與錄音沛厨,去河邊找鬼。 笑死摔认,一個(gè)胖子當(dāng)著我的面吹牛逆皮,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播参袱,決...
    沈念sama閱讀 41,300評(píng)論 3 424
  • 文/蒼蘭香墨 我猛地睜開眼电谣,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了抹蚀?” 一聲冷哼從身側(cè)響起剿牺,我...
    開封第一講書人閱讀 40,264評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎环壤,沒想到半個(gè)月后晒来,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,784評(píng)論 1 321
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡镐捧,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,870評(píng)論 3 343
  • 正文 我和宋清朗相戀三年潜索,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片懂酱。...
    茶點(diǎn)故事閱讀 40,989評(píng)論 1 354
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡竹习,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出列牺,到底是詐尸還是另有隱情整陌,我是刑警寧澤,帶...
    沈念sama閱讀 36,649評(píng)論 5 351
  • 正文 年R本政府宣布瞎领,位于F島的核電站泌辫,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏九默。R本人自食惡果不足惜震放,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,331評(píng)論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望驼修。 院中可真熱鬧殿遂,春花似錦、人聲如沸乙各。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,814評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽耳峦。三九已至恩静,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間蹲坷,已是汗流浹背驶乾。 一陣腳步聲響...
    開封第一講書人閱讀 33,940評(píng)論 1 275
  • 我被黑心中介騙來泰國打工邑飒, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人级乐。 一個(gè)月前我還...
    沈念sama閱讀 49,452評(píng)論 3 379
  • 正文 我出身青樓幸乒,卻偏偏與公主長得像,于是被迫代替她去往敵國和親唇牧。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,995評(píng)論 2 361

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

  • 前言 我從用git就一直用rebase聚唐,但是新的公司需要用merge命令丐重,我不是很明白,所以查了一些資料杆查,總結(jié)了下...
    喵小蕊rita閱讀 477評(píng)論 0 1
  • 因著培訓(xùn)去了江西幾天扮惦,準(zhǔn)確的說是南昌。這是我第一次去江西亲桦,說實(shí)話崖蜜,去之前并沒有多少期待,因?yàn)楦杏X它既沒有西北的粗獷...
    光陰雜貨鋪99閱讀 462評(píng)論 0 0
  • 才發(fā)現(xiàn) 過了二十歲的焦慮 幾乎存在于每個(gè)不經(jīng)意的時(shí)刻 會(huì)開始 試圖做了許多事 不管是有結(jié)果或者無結(jié)果 都在過程里百...
    Abby_sss閱讀 97評(píng)論 0 1
  • 1.Hello,大家晚上好等恐,我是高冷女神,這個(gè)高冷女神其實(shí)是我們團(tuán)隊(duì)給我起的备蚓,他們覺得我很好看课蔬。我想如果我們團(tuán)隊(duì)來...
    吳鳳蝶閱讀 1,029評(píng)論 0 1