常见的GIT分支管理方式有:GitFlow,AoneFlow等
GitFlow
一旦develop分支积聚了足够多的新功能,就从develop上切一个release分支出来发版,这时如果其中一个功能有问题,就会导致其他功能无法上线。
GitFlow的发版不是很灵活
详细了解可以看这篇文章 https://www.cnblogs.com/jeffery-zou/p/10280167.html
AoneFlow
规则一
开始工作前,从master创建feature分支
规则二
通过合并feature分支,形成release分支
规则三
发布到线上正式环境后,合并相应的release分支到master分支,在master分支上添加tag,同时删除该release分支关联的feature分支
详细了解可以看这篇文章 https://blog.csdn.net/qq_20097569/article/details/82665013
AoneFlow发布起来就十分灵活了,但是这需要公司有很多套测试环境才行,如果一直一套环境的话就会导致只有一个需求能进去测试。
MrtfGitFlow
MrtfGitFlow分支管理模式是目前我们在用的一种模式,主要是想保留AoneFlow发版的灵活性,又能保证在单测试环境下所有需求都能进行测试。
MrtfGitFlow主要有4中分支和一个辅助分支:
主干分支(master):主干分支代码和线上环境运行的代码保持一致,所有新分支都从主干分支检出;
发布分支(release):所有测试通过的分支都合并到release统一发布,一旦发布出现问题,基于master重建发布分支,将有问题的需求剔除即可;
测试分支(test):所有开发分支开发完成后合并到test分支,这样就实现了可以同时测试多个需求;
开发分支(feature):所有开发分支都是从最新的master上检出,开发完成后合并到test分支提测,测试完成后合并到release分支上线;
规则
- 所有特性分支都必须基于master新建
- 开发完成后将开发分支合并到test分支提测
- 测试完成后将开发分支合并到release分支开始发布
- 发布完成后将release分支合并到master
GitFlowPlus4Idea是与MrtfGitFlow流程配套的一个Idea插件,可以用来方便的管理分支。