項目版本管理模型

版本管理在軟件開發(fā)過程中十分常見,如下是常見的一種最佳實踐历帚,適用于所有的版本管理系統(tǒng)(svn, git等)滔岳。

發(fā)布分支:

軟件開發(fā)有一個典型的循環(huán):編碼,測試挽牢,發(fā)布澈蟆,然后重復(fù)。過程中會遇到如下兩個問題:

  1. 當(dāng)測試人員在測試假定穩(wěn)定版本時卓研,開發(fā)人員需要繼續(xù)開發(fā)新功能趴俘,不能因為測試而停止開發(fā),且新開發(fā)未測試的功能也不能影響到發(fā)布版本的穩(wěn)定性奏赘。
  2. 可以找到老的發(fā)布過的源代碼寥闪,當(dāng)線上出現(xiàn)bug或者有緊急的功能需要上線的時候,可以直接依賴發(fā)布過的代碼進(jìn)行修復(fù)磨淌,而不用等主版本的發(fā)布疲憋。

典型流程建議:

  1. 開發(fā)提交1.0版本的改動到 trunk
  2. 開發(fā)結(jié)束,團(tuán)隊認(rèn)為軟件可以準(zhǔn)備發(fā)布梁只,從 trunk 上拷貝出一個分支 branch_1.0
  3. 開發(fā)團(tuán)隊繼續(xù)開發(fā)2.0版本的功能缚柳,提交到 trunk
  4. 測試團(tuán)隊對需要發(fā)布的 branch_1.0 進(jìn)行測試搪锣,如果有bug則直接修改在 branch_1.0 上秋忙,直到該分支測試通過則停止修改。
  5. 從測試通過的 branch_1.0 上拷貝一個分支 tag_1.0 作為最新發(fā)布版本的源代碼构舟,并將 branch_1.0 的改動merge回trunk灰追。
  6. 如果線上有bug需要修改,或者有緊急的功能需要添加上線(指上線時間必須要在2.0之前的改動),則在 branch_1.0 上進(jìn)行修改弹澎,測試通過之后拷貝出 tag_1.1 進(jìn)行發(fā)布朴下,并將改動merge回trunk。
  7. 循環(huán)該流程進(jìn)行版本迭代苦蒿。

特性分支:

當(dāng)有復(fù)雜的修改殴胧,并且不希望干擾到 trunk 的穩(wěn)定性或發(fā)布計劃時,就需要使用特性分支佩迟。推薦流程如下:

  1. 從最新的release分支中拷貝出特性分支溃肪,如從 tag_1.0 拷貝出 branch_new_feature,新特性相關(guān)的改動都提交到 branch_new_feature 中音五。
  2. 如果特性分支的開發(fā)周期比較長惫撰,則需要使該分支和 trunk 或最新的release版本保持同步,merge到 trunk 或者最新的tag到 branch_new_feature 中躺涝。
  3. 完成特性分支的開發(fā)之后厨钻,merge 回 trunk(如果和主版本一起發(fā)布),或者從最新的tag中打一個分支出來 branch_1.1坚嗜,將特性分支merge到該分支中(不和主版本一起發(fā)布夯膀,所以只和最新的release版本進(jìn)行merge)。
  4. merge之后的代碼通過測試后就可以發(fā)布了苍蔬。
  5. 刪除已經(jīng)merge回release的特性分支诱建,保持倉庫的整潔。

參考

Common Branching Patterns

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末碟绑,一起剝皮案震驚了整個濱河市俺猿,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌格仲,老刑警劉巖押袍,帶你破解...
    沈念sama閱讀 207,113評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異凯肋,居然都是意外死亡谊惭,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評論 2 381
  • 文/潘曉璐 我一進(jìn)店門侮东,熙熙樓的掌柜王于貴愁眉苦臉地迎上來圈盔,“玉大人,你說我怎么就攤上這事悄雅∏茫” “怎么了?”我有些...
    開封第一講書人閱讀 153,340評論 0 344
  • 文/不壞的土叔 我叫張陵煤伟,是天一觀的道長癌佩。 經(jīng)常有香客問我木缝,道長便锨,這世上最難降的妖魔是什么围辙? 我笑而不...
    開封第一講書人閱讀 55,449評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮放案,結(jié)果婚禮上姚建,老公的妹妹穿的比我還像新娘。我一直安慰自己吱殉,他們只是感情好掸冤,可當(dāng)我...
    茶點故事閱讀 64,445評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著友雳,像睡著了一般稿湿。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上押赊,一...
    開封第一講書人閱讀 49,166評論 1 284
  • 那天饺藤,我揣著相機(jī)與錄音,去河邊找鬼流礁。 笑死涕俗,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的神帅。 我是一名探鬼主播再姑,決...
    沈念sama閱讀 38,442評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼找御!你這毒婦竟也來了元镀?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,105評論 0 261
  • 序言:老撾萬榮一對情侶失蹤霎桅,失蹤者是張志新(化名)和其女友劉穎凹联,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體哆档,經(jīng)...
    沈念sama閱讀 43,601評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蔽挠,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,066評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了瓜浸。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片澳淑。...
    茶點故事閱讀 38,161評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖插佛,靈堂內(nèi)的尸體忽然破棺而出杠巡,到底是詐尸還是另有隱情,我是刑警寧澤雇寇,帶...
    沈念sama閱讀 33,792評論 4 323
  • 正文 年R本政府宣布氢拥,位于F島的核電站蚌铜,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏嫩海。R本人自食惡果不足惜冬殃,卻給世界環(huán)境...
    茶點故事閱讀 39,351評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望叁怪。 院中可真熱鬧审葬,春花似錦、人聲如沸奕谭。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽血柳。三九已至官册,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間难捌,已是汗流浹背膝宁。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評論 1 261
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留栖榨,地道東北人昆汹。 一個月前我還...
    沈念sama閱讀 45,618評論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像婴栽,于是被迫代替她去往敵國和親满粗。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,916評論 2 344

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