敏捷模式下的分支管理

在原先的文章中已經(jīng)介紹過(guò)了:

但是在實(shí)際的敏捷開(kāi)發(fā)實(shí)戰(zhàn)中辉浦,更多的公司會(huì)有如下的需求:

  • 兩周開(kāi)發(fā)一個(gè)版本院促,單個(gè)版本一周開(kāi)發(fā)一周測(cè)試;
  • 多版本并行,先前的版本進(jìn)入測(cè)試階段,后續(xù)的版本就開(kāi)始開(kāi)發(fā)了;
  • 某個(gè)版本的需求內(nèi)容不固定,視實(shí)際情況需要砍掉需求或者新增需求;

如此匀油,先前的GitlabFlow也顯得不是很靈活,不能很好地滿足敏捷的需要勾笆。在調(diào)研別的公司的分支管理模式及結(jié)合自己的工作經(jīng)歷后推薦使用如下的分支管理方法敌蚜。

一、分支管理

1.1 master分支

主干分支是長(zhǎng)期分支窝爪,是所有其它分支的上游分支弛车,它的直接下游分支有release分支和hoxfix分支。

只有當(dāng)release分支或者bugfix分支上的內(nèi)容完成生產(chǎn)發(fā)布且驗(yàn)證無(wú)誤后酸舍,才從release分支合并到master上帅韧,如此,master主干分支上的內(nèi)容就是極度穩(wěn)定可靠的啃勉,每個(gè)版本都打一個(gè)tag忽舟,標(biāo)記里程碑。

1.2 release分支

發(fā)布分支是短期分支淮阐,代表一個(gè)版本的發(fā)布時(shí)間窗口叮阅,從master分支創(chuàng)建而來(lái),任何人不能直接在release分支上提交代碼泣特,所有的內(nèi)容必須從feature分支合并而來(lái)浩姥。

發(fā)布版本的時(shí)候從release分支進(jìn)行發(fā)布,驗(yàn)證有問(wèn)題可在該分支上繼續(xù)修改状您,發(fā)布完成后再合并到master分支上勒叠,等到master上打了相應(yīng)的tag,該發(fā)布分支就結(jié)束膏孟,可以刪除了眯分。

1.3 bugfix分支

修復(fù)分支是短期分支,僅在有生產(chǎn)BUG需要修復(fù)時(shí)柒桑,從master分支創(chuàng)建而來(lái)弊决,同樣的,任何人不能直接在bugfix分支上提交代碼魁淳,所有的內(nèi)容必須從feature分支合并而來(lái)飘诗。

布版本的時(shí)候從bugfix分支進(jìn)行發(fā)布与倡,驗(yàn)證有問(wèn)題可在該分支上繼續(xù)修改,發(fā)布完成后再合并到master分支上昆稿,等到master上打了相應(yīng)的tag纺座,該發(fā)布分支就結(jié)束,可以刪除了貌嫡。

1.4 feature分支

特性分支是短期分支比驻,開(kāi)發(fā)人員從release分支創(chuàng)建而來(lái)该溯,進(jìn)行具體某個(gè)功能的開(kāi)發(fā)岛抄,開(kāi)發(fā)完成后合并到要發(fā)布的release分支上即可,合并完成狈茉,該分支就可以刪除了夫椭。

二、場(chǎng)景操作

2.1 單一版本管理

從master分支新建release分支氯庆,開(kāi)發(fā)人員從release分支創(chuàng)建自己的feature分支蹭秋,完成開(kāi)發(fā)后合并到release分支,測(cè)試基于release分支進(jìn)行測(cè)試和生產(chǎn)驗(yàn)證堤撵,確認(rèn)沒(méi)有問(wèn)題后仁讨,基于release分支進(jìn)行生產(chǎn)正式發(fā)布。完成發(fā)布后实昨,release分支合并到master分支上洞豁,master分支上打上當(dāng)前版本的tag,刪除release分支荒给。

2.3 多版本并行管理

第一個(gè)版本releaseA的管理同2.1丈挟,如果先前的版本還沒(méi)有發(fā)布,此時(shí)開(kāi)發(fā)要進(jìn)行下一個(gè)版本的開(kāi)發(fā)志电,只需從master分支再創(chuàng)建一個(gè)新的releaseB分支即可曙咽,如果releaseB依賴(lài)releaseA的部分還未上線的內(nèi)容,可以先將releaseA的內(nèi)容合并到releaseB上挑辆。等到releaseA發(fā)布并合并到master之后例朱,再?gòu)膍aster合并一下到releaseB上即可。

2.4 需求變更管理

假設(shè)releaseA有兩個(gè)特性feature1和feature2鱼蝉,如果feature1不需要了洒嗤,那么feature1不要往releaseA上合并即可。如果已經(jīng)合并才決定不需要該特性了蚀乔,那么可以重新從master分支拉取releaseA分支烁竭,再將需要的特性合并上去即可。

2.5 修復(fù)生產(chǎn)問(wèn)題

從master分支新建bugfix分支吉挣,開(kāi)發(fā)人員從bugfix分支創(chuàng)建自己的feature分支派撕,其余部分內(nèi)容同2.1管理婉弹。

如果還有其它我沒(méi)有想到的場(chǎng)景,歡迎留言终吼,一起看看當(dāng)前的分支管理模式能否滿足你的場(chǎng)景需要镀赌。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市际跪,隨后出現(xiàn)的幾起案子商佛,更是在濱河造成了極大的恐慌,老刑警劉巖姆打,帶你破解...
    沈念sama閱讀 222,252評(píng)論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件良姆,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡幔戏,警方通過(guò)查閱死者的電腦和手機(jī)玛追,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,886評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)闲延,“玉大人痊剖,你說(shuō)我怎么就攤上這事±萘幔” “怎么了陆馁?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,814評(píng)論 0 361
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)合愈。 經(jīng)常有香客問(wèn)我叮贩,道長(zhǎng),這世上最難降的妖魔是什么想暗? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,869評(píng)論 1 299
  • 正文 為了忘掉前任妇汗,我火速辦了婚禮,結(jié)果婚禮上说莫,老公的妹妹穿的比我還像新娘杨箭。我一直安慰自己,他們只是感情好储狭,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,888評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布互婿。 她就那樣靜靜地躺著,像睡著了一般辽狈。 火紅的嫁衣襯著肌膚如雪慈参。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 52,475評(píng)論 1 312
  • 那天刮萌,我揣著相機(jī)與錄音驮配,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛壮锻,可吹牛的內(nèi)容都是我干的琐旁。 我是一名探鬼主播,決...
    沈念sama閱讀 41,010評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼猜绣,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼灰殴!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起掰邢,我...
    開(kāi)封第一講書(shū)人閱讀 39,924評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤牺陶,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后辣之,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體掰伸,經(jīng)...
    沈念sama閱讀 46,469評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,552評(píng)論 3 342
  • 正文 我和宋清朗相戀三年召烂,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了碱工。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片娃承。...
    茶點(diǎn)故事閱讀 40,680評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡奏夫,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出历筝,到底是詐尸還是另有隱情酗昼,我是刑警寧澤,帶...
    沈念sama閱讀 36,362評(píng)論 5 351
  • 正文 年R本政府宣布梳猪,位于F島的核電站麻削,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏春弥。R本人自食惡果不足惜呛哟,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,037評(píng)論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望匿沛。 院中可真熱鬧扫责,春花似錦、人聲如沸逃呼。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,519評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)抡笼。三九已至苏揣,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間推姻,已是汗流浹背平匈。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,621評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人增炭。 一個(gè)月前我還...
    沈念sama閱讀 49,099評(píng)論 3 378
  • 正文 我出身青樓街望,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親弟跑。 傳聞我的和親對(duì)象是個(gè)殘疾皇子灾前,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,691評(píng)論 2 361

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

  • Git 倉(cāng)庫(kù)申請(qǐng)流程 1. 開(kāi)發(fā)主管向Git 管理員提交Git 倉(cāng)庫(kù)申請(qǐng)【郵件:發(fā)送給Git 管理員,抄送給項(xiàng)目經(jīng)...
    騷包霸天虎閱讀 2,086評(píng)論 0 0
  • 簡(jiǎn)介 現(xiàn)代軟件開(kāi)發(fā)過(guò)程中要實(shí)現(xiàn)高效的團(tuán)隊(duì)協(xié)作孟辑,需要使用代碼分支管理工具實(shí)現(xiàn)代碼的共享哎甲、追溯、回滾及維護(hù)等功能饲嗽。目前...
    Lucas66閱讀 8,213評(píng)論 0 5
  • 從手忙腳亂開(kāi)始 在開(kāi)源領(lǐng)域的廣泛使用中形成了三種被廣泛接受的最佳實(shí)踐: Git flow, Github flow...
    517001e7cb6e閱讀 2,053評(píng)論 4 12
  • git分支管理模型挺多的炭玫,各種概念配圖花里胡哨,對(duì)于初學(xué)者來(lái)說(shuō)貌虾,看起來(lái)會(huì)比較累吞加,可能理解不了。 我這里描述一下我個(gè)...
    無(wú)星灬閱讀 880評(píng)論 0 0
  • 分支說(shuō)明和對(duì)應(yīng)的操作 master分支 Git主分支的名字尽狠,默認(rèn)叫做master衔憨。它是自動(dòng)建立的,版本庫(kù)初始化以后...
    米_8d62閱讀 2,043評(píng)論 0 1