git rebase

介紹

merge 是一種簡單方便的合并方法,但是它卻不是唯一的方法,rebase 也可以進行合并区岗。

merge 合并分支后圖形會出現一堆交叉線,合并出現沖突毁枯,不管多少次沖突都只要解一次

rebase 合并分支后圖形只會形成一條線慈缔,查看時清晰明了,合并出現沖突比較麻煩种玛,如果出現多次沖突需要一次一次去手動解決

簡單來說就是藐鹤,merge是合并其他分支的內容,rebase也是合并其他分支的內容赂韵,但rebase會把本分支的commits放在分支最頂部

相關參數

git rebase --abort 放棄合并娱节,回到rebase操作之前的狀態(tài),之前的提交的不會丟棄

git rebase --skip 會將引起沖突的commits丟棄掉右锨,一般謹慎使用

git rebase --continue 合并沖突時用,結合"git add 文件"命令一起用與修復沖突碌秸。

git rebase

使用

在項目中master作為主分支绍移,dev作為開發(fā)分支。

分支合并
此時dev分支上在正在a文件添加新功能讥电,忽然master上a文件出現一個bug蹂窖,需要緊急修復。

一般情況下我們都會先基于 master 下創(chuàng)新一個新的分支 hotfix恩敌,然后在hotfix中修復bug瞬测,后再合并到master。

合并完后,會出現一個問題月趟,就是master和dev的a文件都進行的操作會發(fā)生沖突灯蝴,這個時候要求master的分支圖必須是一條線,所以要在dev使用git rebase 進行合并孝宗。

首先在dev分支中將master分支rebase過來穷躁,使用命令

# git checkout dev
# git rebase master

如果沒有沖突的話,合并會很順利因妇,但是由于我們之前修復bug改了a文件问潭,所以會出現沖突,git會停止rebase讓你去解決沖突婚被,所以我們需要手動解決完沖突狡忙。

在rebase的時候會提示沖突,當然也可以用diff查看沖突

# git diff

這一步解決沖突就是將修復bug的代碼手動添加到當前a文件中址芯。

解決完沖突后再執(zhí)行add灾茁,提交修改

# git add a

提交完后,不執(zhí)行commit是复,執(zhí)行

# git rebase --continue

這樣git會繼續(xù)apply余下的補丁删顶。

合并多次提交
http://www.reibang.com/p/913dad94f289

總結

rebase的目的是為了讓分支圖看起來是一條連續(xù)的commit line,避免不必要的commit形成分叉淑廊,方便后續(xù)code review逗余。

在不是完全掌握rebase的情況下,多人開發(fā)的公共分支要把個人分支合并進來時季惩,推薦merge录粱,避免造成不必要的麻煩,

另外我們在pull的時候也可以使用rebase画拾,使拉取遠程代碼到本地時的保證不會分叉啥繁,只形成一條commit line

# git pull –rebase

參考

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

?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市青抛,隨后出現的幾起案子旗闽,更是在濱河造成了極大的恐慌,老刑警劉巖蜜另,帶你破解...
    沈念sama閱讀 211,348評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件适室,死亡現場離奇詭異,居然都是意外死亡举瑰,警方通過查閱死者的電腦和手機捣辆,發(fā)現死者居然都...
    沈念sama閱讀 90,122評論 2 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來此迅,“玉大人汽畴,你說我怎么就攤上這事旧巾。” “怎么了忍些?”我有些...
    開封第一講書人閱讀 156,936評論 0 347
  • 文/不壞的土叔 我叫張陵鲁猩,是天一觀的道長。 經常有香客問我坐昙,道長绳匀,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,427評論 1 283
  • 正文 為了忘掉前任炸客,我火速辦了婚禮疾棵,結果婚禮上,老公的妹妹穿的比我還像新娘痹仙。我一直安慰自己是尔,他們只是感情好,可當我...
    茶點故事閱讀 65,467評論 6 385
  • 文/花漫 我一把揭開白布开仰。 她就那樣靜靜地躺著拟枚,像睡著了一般。 火紅的嫁衣襯著肌膚如雪众弓。 梳的紋絲不亂的頭發(fā)上恩溅,一...
    開封第一講書人閱讀 49,785評論 1 290
  • 那天,我揣著相機與錄音谓娃,去河邊找鬼脚乡。 笑死,一個胖子當著我的面吹牛滨达,可吹牛的內容都是我干的奶稠。 我是一名探鬼主播,決...
    沈念sama閱讀 38,931評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼捡遍,長吁一口氣:“原來是場噩夢啊……” “哼锌订!你這毒婦竟也來了?” 一聲冷哼從身側響起画株,我...
    開封第一講書人閱讀 37,696評論 0 266
  • 序言:老撾萬榮一對情侶失蹤辆飘,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后谓传,有當地人在樹林里發(fā)現了一具尸體蜈项,經...
    沈念sama閱讀 44,141評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,483評論 2 327
  • 正文 我和宋清朗相戀三年良拼,在試婚紗的時候發(fā)現自己被綠了战得。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片充边。...
    茶點故事閱讀 38,625評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡庸推,死狀恐怖常侦,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情贬媒,我是刑警寧澤聋亡,帶...
    沈念sama閱讀 34,291評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站际乘,受9級特大地震影響坡倔,放射性物質發(fā)生泄漏。R本人自食惡果不足惜脖含,卻給世界環(huán)境...
    茶點故事閱讀 39,892評論 3 312
  • 文/蒙蒙 一罪塔、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧养葵,春花似錦征堪、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至着绊,卻和暖如春谐算,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背归露。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工洲脂, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人靶擦。 一個月前我還...
    沈念sama閱讀 46,324評論 2 360
  • 正文 我出身青樓腮考,卻偏偏與公主長得像,于是被迫代替她去往敵國和親玄捕。 傳聞我的和親對象是個殘疾皇子踩蔚,可洞房花燭夜當晚...
    茶點故事閱讀 43,492評論 2 348

推薦閱讀更多精彩內容

  • git 使用筆記 git原理: 文件(blob)對象,樹(tree)對象枚粘,提交(commit)對象 tree對象 ...
    神刀閱讀 3,759評論 0 10
  • 原文:Merging vs. Rebasinggit rebase一直是初級程序員想遠離的黑魔法馅闽,但事實上在開發(fā)團...
    _夏兮閱讀 1,003評論 0 3
  • 我是版本管理工具 白癡 之前項目一直在SVN上,自己對SVN的理解馍迄,其實差不多就是小烏龜直接只用svn check...
    KK葫蘆娃閱讀 3,059評論 0 8
  • Git 是目前最流行的分布式版本控制系統(tǒng)之一福也。 版本控制指的是,記錄每次版本變更的內容和時間等細節(jié)攀圈,保留各版本之間...
    神齊閱讀 1,409評論 0 7
  • 前段時間由于某種原因赘来,開始接手開發(fā)公司前端Vue搭建的項目 該前端項目采用的是基于git rebase的形式去合并...
    0愛上1閱讀 211,841評論 33 195