Versions Compared
compared with
Key
- This line was added.
- This line was removed.
- Formatting was changed.
代码版本管理作为项目管理的一部分,也应当有一定的规范约束,目的是避免混乱,提高协作效率。由于Git已经成为主流的代码版本管理工具,虽然使用简单,但在团队使用中也应该对齐规范,否则在代码版本管理中反而会浪费一些毫无意义的成本开销,例如出现反复解决重复的代码冲突、与测试团队衔接不平滑、版本"超车"发布或者回滚困难等问题。
一、Git Flow概览
Image Added
稳定分支
稳定分支通常使用主分支main
,表示当前生产正在稳定运行的代码版本。
预发分支
预发分支通常使用staging
,表示正在处于最后功能特性验证阶段的代码,验证完成后即上生产。由于修复分支的存在,因此预发分支在每一个迭代版本合并之前应当与主分支main
完成一次merge
,保证代码的同步。
迭代分支
使用敏捷开发的团队管理,迭代分支通常是一次sprint
特性功能集合,用于管理该sprint
的功能特性代码集合。每一次迭代开始时,迭代分支从稳定的主分支分流出来,通常以sprint-vx.y
的形式来命名。每当开发分支开发以及自测后会通过MR/PR
的形式合并到spint
迭代分支中,并通过自动化机制发布到固定的验证环境,便于测试团队进行统一的功能验证。
开发分支
开发分支是从特定的迭代分支分流的代码分支,用于完成特定迭代分支中特定功能特性的分支。开发分支通常是以迭代分支-特性名称
命名,但有的时候,开发分支通常是以开发者个人名义从迭代分支分流出来,以迭代分支-开发者姓名
来命名,用于管理开发者在这次迭代的多个功能特性集合。一个开发分支管理多个特性的优点是在一个人负责当前迭代的多个功能时比较方便,但缺点是如果想要将开发分支中的多个功能特性拆分上线,可能较为困难。
修复分支
通常测试团队的同学会在该分支上跑自动化测试、回归测试,并给出测试报告。
Panel | ||
---|---|---|
| ||
|