1、分支类型说明
分支名称 |
分支描述 |
唯一 |
权限管理 |
release |
发布分支,内部分支,当确定需要发布版本时,从develop分支拉出此分支 |
唯一 |
最高权限,由版本经理或者团队核心成员组管理 |
master |
主干分支,对外发布分支 |
唯一 |
最高权限,由项目经理或者团队核心成员组管理 |
hot fixes |
紧急故障修复分支(如现场故障),内部分支,从master拉出此分支,merge到master和develop分支 |
唯一 |
最高权限,由版本经理或者团队核心成员组管理 |
feature |
特性分支,内部分支,当有新需求时,可以从develop分支拉出此分支,开发完成后,merge到develop分支 |
不唯一 |
最高权限,由版本经理或者团队核心成员组管理 |
develop |
开发分支,内部分支,团队成员的代码提交到此分支 |
唯一 |
最高权限,由团队核心成员组管理 |
2、场景分解
2.1新项目启动
责任人 |
动作 |
项目经理/版本经理 |
创建master分支 |
2.2启动开发
责任人 |
动作 |
项目经理/版本经理 |
创建develop分支 |
团队成员 |
同步和提交develop分支 |
2.3需求开发
责任人 |
动作 |
项目经理/版本经理 |
从develop创建feature分支并制定feature负责人 |
团队成员 |
同步和提交到feature分支 |
团队成员(feature负责人) |
同步feature分支到develop分支 |
2.4内部版本发布
责任人 |
动作 |
项目经理/版本经理 |
从develop创建release分支 |
团队成员 |
同步和提交到release分支,只允许提交bug的代码,不允许提交新功能代码 |
团队成员 |
同步release分支的bug到develop分支 |
项目经理/版本经理/核心成员 |
Release结束后,同步release分支到master分支和develop分支,删除release分支 |
2.5外部版本发布
责任人 |
动作 |
版本经理 |
为master分支Tag |
项目经理/版本经理 |
创建hotfixes分支 |
2.6hot fix
责任人 |
动车 |
团队成员 |
同步和提交(bug的解决方法)到develop分支 |
3、分支说明
对于一个初级应用的团队或者小团队,可以简化分支:
3.1 裁剪掉release,hotfix分支
3.2 围绕develop分支进行开发,测试版本直接在develop分支上tag
3.3 开发人员可以自测feature/bug分支,开发完成后合并入develop分支
3.4 master分支的作用保持不变
------20191203闪