Git開發(fā)、發(fā)布流程

項目的規(guī)模都是有小到大,從單一模塊開發(fā),到多個模塊并行開發(fā);從多個模塊開發(fā)完成集中測試發(fā)布,到模塊可配置測試發(fā)布。這些開發(fā)和發(fā)布流程都少不了版本管理工具。版本管理工具有很多種,從剛開始工作接觸到的CVS到SVN到現(xiàn)在用的GIT,由于目前公司用的是GIT,所以分享一下公司現(xiàn)在GIT的開發(fā)和發(fā)布流程。

平安健康Git開發(fā)、發(fā)布流程

Master

master永遠(yuǎn)都是發(fā)布版本的最新代碼。
master永遠(yuǎn)都是通過合并分支來改變,不允許提交代碼。
master發(fā)布完需要添加標(biāo)簽,標(biāo)簽為當(dāng)前的版本號。
這樣做的好處是為了更清楚的找到每個版本對應(yīng)的代碼,如果以后想做熱修復(fù)可以直接將對應(yīng)版本號的標(biāo)簽分支出來修改。

Vx.x.x_Develop

當(dāng)有新版本需要開發(fā),從Master上建分支并且修改代碼的VersionName和VersionCode提交。
例如:現(xiàn)在開發(fā)V1.7.0,我們從Master上拉取分支創(chuàng)建V1.7.0_Develop.不允許在develop分支上直接修改代碼進(jìn)行提交,develop只能通過合并module和hot_fix分支進(jìn)行改變,這樣才能解決動態(tài)發(fā)布。

Vx.x.x_Release

這個分支是和Develop分支一樣都從Master上建分支并且修改代碼的VersionName和VersionCode提交。這個分支的作用主要是解決動態(tài)發(fā)布。什么是動態(tài)發(fā)布,舉個栗子:假如并行開發(fā)兩個功能模塊moduleA、moduleB,在測試完成準(zhǔn)備發(fā)布同時,由于公司層面或者一些其他原因?qū)е耺oduleB不能上線,只單獨上線moduleA。這樣我們將moduleA分支合并到Vx.x.x_Release分支,由于代碼的修改只在各自的module分支上進(jìn)行修改,所以合并之后的Vx.x.x_Release+moduleA就是經(jīng)過測試可以發(fā)布代碼,經(jīng)過簡單的回歸測試就可以進(jìn)行發(fā)布了,發(fā)布之后將Vx.x.x_Release合并到master上并且添加當(dāng)前發(fā)布版本號的標(biāo)簽。

Vx.x.x_Hot_Fix

hot_fix是用來做線上版本熱修復(fù)的分支,一般都是從master分支出來的。假如要修改V1.7.0的bug,就從master標(biāo)簽為V1.7.0拉出來hot_fix分支,進(jìn)行修改代碼、測試,發(fā)布補丁包之后將hot_fix合并到master和develop上,保持master和develop是最新的代碼,最后刪除hot_fix分支。

Vx.x.x_ModuleX

根據(jù)功能進(jìn)行分支moduleA、moduleB、moduleC等等,如果存在develop分支那么就在它上分支出來,如果develop不存在那么就在master上拉出分支。在開發(fā)測試階段任何對代碼的修改都需要在各自的module上進(jìn)行,修改完成在合并到develop上進(jìn)行測試,當(dāng)版本發(fā)布了刪除對應(yīng)的module分支。

總結(jié):

以上開發(fā)、測試、發(fā)布流程不是最好的但是能解決我們公司當(dāng)前的多模塊并行開發(fā),選擇模塊上線發(fā)布的需求,如果有好的建議大家可以一起分享。
注意:不允許在develop上進(jìn)行修改代碼提交,更禁止在master上對代碼進(jìn)行修改提交。develop只允許通過合并module和hot_fix分支進(jìn)行修改,master只允許通過合并發(fā)布之后的develop和發(fā)布之后的hot_fix分支進(jìn)行修改。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Git分支管理 master:主分支,當(dāng)前分支上的代碼隨時可以直接發(fā)布,并且只能通過Pull Request從其他...
    UEUEO閱讀 9,971評論 5 33
  • 多種多樣的工作流使得在項目中實施Git時變得難以選擇。這份教程提供了一個出發(fā)點,調(diào)查企業(yè)團(tuán)隊最常見的Git工作流。...
    JSErik閱讀 4,614評論 2 8
  • 我們班下課的很準(zhǔn)時,但隔壁班就沒那么好運了。我偷偷的趴在他們班窗戶那里看著,但是聽不到里面說的什么。 宇看我這樣直...
    愛夢的我閱讀 214評論 0 0
  • 晚上聊天某大神表示擔(dān)心自己一年后畢業(yè)了找不到工作,拿不到戶口,找不到媳婦兒 我只想跟他說:哥,我覺得找工作拿戶口找...
    鴻志云萬里閱讀 297評論 0 0
  • 近期讀了一篇關(guān)于小白如何寫出好文章的短文,結(jié)合以前讀過的文章,心有所感,遂整理了一份小白如何寫出好文章的清單(以下...
    起子先生閱讀 689評論 1 7

友情鏈接更多精彩內(nèi)容