Gitflow是Git的分支模型,由Vincent Driessen创建,非常适合协作和扩展开发团队。
Gitflow核心优势
1.并行开发:通过新开发与已完成的工作隔离开来Develop:开发分支,从Master创建得来。功能开发的基础分支。新开发(例如功能和非紧急错误修复)在功能分支中完成,并且仅在开发人员对代码已准备好发布感到满意时才合并回代码主体中(Code Review)。
2.协作:功能分支还使两个或多个开发人员更容易协作处理同一功能,因为每个功能分支都是一个沙盒,这使得查看和跟踪每个协作者正在做的事情变得非常容易。
3.发布暂存区:随着新开发的完成,它会合并回开发分支,该分支是尚未发布的所有已完成功能的暂存区域。
4.支持紧急修复:GitFlow支持修补程序分支,从标记的版本创建的分支。
Gitflow中的五大类分支
1. Master-主分支(发布)
主分支,用于正式发布的分支。不可直接基于该分支提交。只有经过严格审核测试后的Develop或hotfix分支可以合并到master。
2. hotfix-修复分支(临时分支)
热修复分支,当master出现紧急bug时,基于master临时拉出创建的分支,修复完成后合并到Develop和Master分支。
3. Release-预发布分支(测试分支)
预发布分支。当Develop上积累了一定的功能特性后,从Develop分支创建一个Release分支,做一些发布前的准备工作,不可开发功能。最终合并到master分支和develop分支。
4. develop-开发分支
开发分支,从master创建得来。功能开发的基础分支。
5. Feature-xx -功能分支
功能分支,从Develop创建得来,开发测试完成后会合并到Develop分支。
*Feature到develop的合并要经过CodeReview
CodeReview形式
1.在本地将分支代码合并到目标分支(本地合并),然后push到目标分支,适用于目标分支有权限。
2.将本地分支Push到远端仓库,在代码管理平台页面中指定目标分支发起分支合并并请求,对目标分支拥有权限的用户审批并测试,确保无误后统一请求完成合并。
*release向master的合并通常由组长或主程负责执行
*dev分支不能直接向master合入,需要经过release分支上的测试才能合入master
整个流程分支中,只有master和release分支才能部署到服务器中,并且部署环境不同
Master:对于开发后的项目部署到生产环境下,服务群体为用户
Release:对于开发后的项目部署到测试环境下,服务群体为项目开发团队
网友评论