以下是实际项目开发过程中使用GitFlow对项目Git分支进行管理的一些理解:
- develop、master/main只有一个分支
- 所有的feature分支都是基于develop创建的
- 在master/main分支上进行发版
为什么需要release分支?
答:当QA同学进行版本例如V1.0整体回归测试时,研发同学可以基于develop创建feature分支进行下一个版本需求的开发,功能开发完成和测试通过后可以将其改动提交到develop上。如果没有release分支而只有一个develop分支,新需求的提交会影响要上线的V1.0版本。有了release分支后V1.0版本的改动和后期的发版都是基于该分支的,做到了当前集成测试版本与下一个版本需求开发的同步进行。
不同公司可能会基于GitFlow工作流进行一定的调整,来进行git分支管理,以下是其中的一种情况:
与GitFlow工作流的相同点:
- develop、master/main只有一个分支
- 所有的feature分支都是基于develop创建的
与GitFlow工作流的不同点:
- 版本的发布是在release分支上的