常見的GIT分支管理方式有:GitFlow,AoneFlow等
GitFlow

一旦develop分支積聚了足夠多的新功能,就從develop上切一個release分支出來發(fā)版,這時如果其中一個功能有問題,就會導(dǎo)致其他功能無法上線。
GitFlow的發(fā)版不是很靈活
詳細(xì)了解可以看這篇文章 https://www.cnblogs.com/jeffery-zou/p/10280167.html
AoneFlow
規(guī)則一
開始工作前,從master創(chuàng)建feature分支

規(guī)則二
通過合并feature分支,形成release分支

規(guī)則三
發(fā)布到線上正式環(huán)境后,合并相應(yīng)的release分支到master分支,在master分支上添加tag,同時刪除該release分支關(guān)聯(lián)的feature分支

詳細(xì)了解可以看這篇文章 https://blog.csdn.net/qq_20097569/article/details/82665013
AoneFlow發(fā)布起來就十分靈活了,但是這需要公司有很多套測試環(huán)境才行,如果一直一套環(huán)境的話就會導(dǎo)致只有一個需求能進(jìn)去測試。
MrtfGitFlow
MrtfGitFlow分支管理模式是目前我們在用的一種模式,主要是想保留AoneFlow發(fā)版的靈活性,又能保證在單測試環(huán)境下所有需求都能進(jìn)行測試。
MrtfGitFlow主要有4中分支和一個輔助分支:
主干分支(master):主干分支代碼和線上環(huán)境運(yùn)行的代碼保持一致,所有新分支都從主干分支檢出;
發(fā)布分支(release):所有測試通過的分支都合并到release統(tǒng)一發(fā)布,一旦發(fā)布出現(xiàn)問題,基于master重建發(fā)布分支,將有問題的需求剔除即可;
測試分支(test):所有開發(fā)分支開發(fā)完成后合并到test分支,這樣就實現(xiàn)了可以同時測試多個需求;
開發(fā)分支(feature):所有開發(fā)分支都是從最新的master上檢出,開發(fā)完成后合并到test分支提測,測試完成后合并到release分支上線;

規(guī)則
- 所有特性分支都必須基于master新建
- 開發(fā)完成后將開發(fā)分支合并到test分支提測
- 測試完成后將開發(fā)分支合并到release分支開始發(fā)布
- 發(fā)布完成后將release分支合并到master
GitFlowPlus4Idea是與MrtfGitFlow流程配套的一個Idea插件,可以用來方便的管理分支。