git merge vs git rebase的區(qū)別

從概念上辜膝,git merge和git rebase都是用來解決同樣的問題,即合并兩個(gè)branch的修改漾肮。

Both of these commands are designed to integrate changes from one branch into another branch—they just do it in very different ways.

merge

git merge dev:

Git 會(huì)自動(dòng)根據(jù)兩個(gè)分支的共同祖先commit 和兩個(gè)分支的最新提交即進(jìn)行一個(gè)三方合并厂抖,然后將合并中修改的內(nèi)容生成一個(gè)新的 commit.

rebase

如果是在 master 分支上git rebase deve:Git 會(huì)從兩個(gè)分支的共同祖先開始提取 master 分支(當(dāng)前所在分支)上的修改,再將 master 分支指向 deve 的最新提交(目標(biāo)分支)處初橘,然后將剛剛提取的修改依次應(yīng)用到這個(gè)最新提交后面验游。操作會(huì)舍棄 master 分支上提取的 commit充岛,同時(shí)不會(huì)像 merge 一樣生成一個(gè)合并修改內(nèi)容的 commit,相當(dāng)于把 master 分支(當(dāng)前所在分支)上的修改在 deve 分支(目標(biāo)分支)上原樣復(fù)制了一遍.且新commit的hash code不同耕蝉。

(串行)

總結(jié):選擇 merge 還是 rebase崔梗?

merge 是一個(gè)合并操作,會(huì)將兩個(gè)分支的修改合并在一起垒在,默認(rèn)操作的情況下會(huì)提交合并中修改的內(nèi)容

merge 的提交歷史忠實(shí)地記錄了實(shí)際發(fā)生過什么蒜魄,關(guān)注點(diǎn)在真實(shí)的提交歷史上面

rebase 并沒有進(jìn)行合并操作,只是提取了當(dāng)前分支的修改场躯,將其復(fù)制在了目標(biāo)分支的最新提交后面

rebase 的提交歷史反映了項(xiàng)目過程中發(fā)生了什么谈为,關(guān)注點(diǎn)在開發(fā)過程上面

merge 與 rebase 都是非常強(qiáng)大的分支整合命令,沒有優(yōu)劣之分踢关,使用哪一個(gè)應(yīng)由項(xiàng)目和團(tuán)隊(duì)的開發(fā)需求決定

merge 和 rebase 還有很多強(qiáng)大的選項(xiàng)伞鲫,可以使用git help 查看

最后:一些注意點(diǎn)

使用 merge 時(shí)應(yīng)考慮是采用--no-ff默認(rèn)操作,生成一個(gè)對(duì)回顧提交歷史并不友好的合并記錄签舞,還是采用--ff-only方式

rebase 操作會(huì)丟棄當(dāng)前分支已提交的 commit秕脓,故不要在已經(jīng) push 到遠(yuǎn)程,和其他人正在協(xié)作開發(fā)的分支上執(zhí)行 rebase 操作

與遠(yuǎn)程倉(cāng)庫(kù)同步時(shí)儒搭,使用 pull 命令默認(rèn)進(jìn)行了git fetch + git merge --no-ff兩個(gè)操作吠架,可以通過加上--rebase命令將 fetch 后的 merge 操作改為 rebase 操作,或者僅僅 'git fetch remoteName',然后才思考采取哪種整合策略git merge(or rebase) origin/master

開發(fā)與 commit 時(shí)注意自己此時(shí)在哪個(gè)分支上搂鲫。

Summary

If you would prefer a clean, linear history free of unnecessary merge commits, you should reach for git rebase instead of git merge when integrating changes from another branch.

On the other hand, if you want to preserve the complete history of your project and avoid the risk of re-writing public commits, you can stick with git merge.?

參考:

http://www.reibang.com/p/c17472d704a0

https://www.atlassian.com/git/tutorials/merging-vs-rebasing

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末傍药,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子魂仍,更是在濱河造成了極大的恐慌拐辽,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,525評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蓄诽,死亡現(xiàn)場(chǎng)離奇詭異薛训,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)仑氛,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,203評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來闸英,“玉大人锯岖,你說我怎么就攤上這事「危” “怎么了出吹?”我有些...
    開封第一講書人閱讀 164,862評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)辙喂。 經(jīng)常有香客問我捶牢,道長(zhǎng)鸠珠,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,728評(píng)論 1 294
  • 正文 為了忘掉前任秋麸,我火速辦了婚禮渐排,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘灸蟆。我一直安慰自己驯耻,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,743評(píng)論 6 392
  • 文/花漫 我一把揭開白布炒考。 她就那樣靜靜地躺著可缚,像睡著了一般。 火紅的嫁衣襯著肌膚如雪斋枢。 梳的紋絲不亂的頭發(fā)上帘靡,一...
    開封第一講書人閱讀 51,590評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音瓤帚,去河邊找鬼测柠。 笑死,一個(gè)胖子當(dāng)著我的面吹牛缘滥,可吹牛的內(nèi)容都是我干的轰胁。 我是一名探鬼主播,決...
    沈念sama閱讀 40,330評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼朝扼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼赃阀!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起擎颖,我...
    開封第一講書人閱讀 39,244評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤榛斯,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后搂捧,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體驮俗,經(jīng)...
    沈念sama閱讀 45,693評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,885評(píng)論 3 336
  • 正文 我和宋清朗相戀三年允跑,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了王凑。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,001評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡聋丝,死狀恐怖索烹,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情弱睦,我是刑警寧澤百姓,帶...
    沈念sama閱讀 35,723評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站况木,受9級(jí)特大地震影響垒拢,放射性物質(zhì)發(fā)生泄漏旬迹。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,343評(píng)論 3 330
  • 文/蒙蒙 一求类、第九天 我趴在偏房一處隱蔽的房頂上張望奔垦。 院中可真熱鬧,春花似錦仑嗅、人聲如沸宴倍。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,919評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)鸵贬。三九已至,卻和暖如春脖捻,著一層夾襖步出監(jiān)牢的瞬間阔逼,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,042評(píng)論 1 270
  • 我被黑心中介騙來泰國(guó)打工地沮, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留嗜浮,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,191評(píng)論 3 370
  • 正文 我出身青樓摩疑,卻偏偏與公主長(zhǎng)得像危融,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子雷袋,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,955評(píng)論 2 355

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

  • git常用命令 GIT常用命令備忘:http://stormzhang.com/git/2014/01/27/gi...
    新篇章閱讀 8,486評(píng)論 1 26
  • 1. GIT命令 git init在本地新建一個(gè)repo吉殃,進(jìn)入一個(gè)項(xiàng)目目錄,執(zhí)行g(shù)it init楷怒,會(huì)初始化一個(gè)re...
    江邊一蓑煙閱讀 799評(píng)論 0 0
  • “最近病情怎樣蛋勺?”院長(zhǎng)和藹的微笑溫暖如春,筷子從我的盤中夾走了一枚包子鸠删。
    U0閱讀 245評(píng)論 1 2
  • 公司項(xiàng)目里需要一款柱狀圖抱完,在網(wǎng)上找了好多版本都沒有適合項(xiàng)目要求的,最后只能自己寫一個(gè)了(還是那句話刃泡,人都是逼出來的...
    ZPCoder閱讀 3,602評(píng)論 3 8
  • 又來到那個(gè)街口 任心事隨風(fēng)飄走 也想往前走走 卻愿為你停留 靜靜的聽著失落沙洲 想到有時(shí)候 你的溫柔 停留在那個(gè)街...
    瓢城舊孟閱讀 304評(píng)論 1 0