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

前言

我從用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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市较店,隨后出現(xiàn)的幾起案子志鹃,更是在濱河造成了極大的恐慌,老刑警劉巖泽西,帶你破解...
    沈念sama閱讀 211,042評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異缰趋,居然都是意外死亡捧杉,警方通過查閱死者的電腦和手機(jī)陕见,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來味抖,“玉大人评甜,你說我怎么就攤上這事∽猩” “怎么了忍坷?”我有些...
    開封第一講書人閱讀 156,674評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)熔脂。 經(jīng)常有香客問我佩研,道長(zhǎng),這世上最難降的妖魔是什么霞揉? 我笑而不...
    開封第一講書人閱讀 56,340評(píng)論 1 283
  • 正文 為了忘掉前任旬薯,我火速辦了婚禮,結(jié)果婚禮上适秩,老公的妹妹穿的比我還像新娘绊序。我一直安慰自己,他們只是感情好秽荞,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,404評(píng)論 5 384
  • 文/花漫 我一把揭開白布骤公。 她就那樣靜靜地躺著,像睡著了一般扬跋。 火紅的嫁衣襯著肌膚如雪阶捆。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,749評(píng)論 1 289
  • 那天胁住,我揣著相機(jī)與錄音趁猴,去河邊找鬼。 笑死彪见,一個(gè)胖子當(dāng)著我的面吹牛儡司,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播余指,決...
    沈念sama閱讀 38,902評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼捕犬,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了酵镜?” 一聲冷哼從身側(cè)響起碉碉,我...
    開封第一講書人閱讀 37,662評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎淮韭,沒想到半個(gè)月后垢粮,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,110評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡靠粪,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評(píng)論 2 325
  • 正文 我和宋清朗相戀三年蜡吧,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了毫蚓。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,577評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡昔善,死狀恐怖元潘,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情君仆,我是刑警寧澤翩概,帶...
    沈念sama閱讀 34,258評(píng)論 4 328
  • 正文 年R本政府宣布,位于F島的核電站返咱,受9級(jí)特大地震影響钥庇,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜洛姑,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,848評(píng)論 3 312
  • 文/蒙蒙 一上沐、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧楞艾,春花似錦参咙、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,726評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至两入,卻和暖如春净宵,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背裹纳。 一陣腳步聲響...
    開封第一講書人閱讀 31,952評(píng)論 1 264
  • 我被黑心中介騙來泰國(guó)打工择葡, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人剃氧。 一個(gè)月前我還...
    沈念sama閱讀 46,271評(píng)論 2 360
  • 正文 我出身青樓敏储,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親朋鞍。 傳聞我的和親對(duì)象是個(gè)殘疾皇子已添,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,452評(píng)論 2 348

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

  • 轉(zhuǎn)自: http://www.cnblogs.com/xueweihan/p/5743327.html 前言我從用...
    reallychao閱讀 625評(píng)論 0 1
  • 1、第一次被稱呼阿姨的感受 人與人之間都有稱呼滥酥。 “阿姨更舞,往里面走一下】参牵”第一次被一個(gè)陌生人稱呼阿姨心里有點(diǎn)別樣的...
    沈姐說說閱讀 707評(píng)論 12 10
  • 我現(xiàn)在坐在韶關(guān)高鐵站的德克士里面缆蝉,厚著臉皮不點(diǎn)東西還充電。 這幾天總算是閑下來了,說是這么說返奉,其實(shí)還是每天又要玩又...
    limbopan閱讀 209評(píng)論 0 1
  • 和母親因?yàn)樾∈鲁臣軙r(shí)贝搁,她總常說的一句話是:真是長(zhǎng)大了,翅膀硬了芽偏,越來越?jīng)]有小時(shí)候懂事了。 是啊弦讽,越長(zhǎng)大和母親的爭(zhēng)...
    1108閱讀 1,084評(píng)論 0 1
  • 這個(gè)世界哪有誰會(huì)離不開誰 當(dāng)黑暗來臨的時(shí)候 連影子都會(huì)離開你
    爺非傻蛋閱讀 134評(píng)論 0 1