Git Flow 工作流目标
- 规范分支的使用
- 处理线上版本修复和新版本开发并行的情况;
- 降低开发过程中各成员处理冲突及合并的成本
Git Flow 分支简介
master分支-主分支
- master分支存放的时随时可供在生产环境中部署的稳定版本代码,对外发布。
- master分支为只读分支,只能从其他分支(release/hotfix)合并,不能在此分支修改。
- 所有在master分支的推送都要添加指定格式的Tag,用于发布或回滚。
develop分支-开发分支
- 主开发分支,基于master分支克隆
- develop分支为只读分支,只能从其他分支(feature/hotfix)合并,不能在此分支修改。
- develop分支克隆出release分支测试,并在release分支修改BUG。
- develop分支不与master分支有直接联系
feature分支-功能分支
- 基于develop分支克隆,主要用于新功能的开发
- 功能开发完毕后合并到develop分支
- feature分支可同时存在多个,用于团队中功能同时开发。
- 临时分支,功能完成可选删除
release分支-预发布/测试分支
- 基于feature分支合并到develop分支后,从develop分支克隆。
- 主要给测试人员进行功能测试,发现的BUG在本分支进行修复,修复完成上线后合并到develop、master分支并打Tag。
- 临时分支,功能完成可选删除
hotfix分支-紧急修复/补丁分支
- 基于master分支克隆,对线上版本进行BUG修复。
- 修复完毕后立即合并到develop、master分支并打Tag、推送。
- 临时分支,补丁修复后可选删除