近期组里对于项目分支的管理做了一些更细的规范,经过一个版本使用,效果不错,特此记录。希望能对大家有所帮助。
需求开发阶段:
从 develop 拉取 feature 分支开发,在对应版本提测日(封板)前,走流水线 MergeRequest (下文简写 MR
) 合回 develop,不允许直接 push,这里流水线目前是在蓝盾
平台上,配置了自动代码扫描、单元测试编译,单测覆盖率拦截、自动化测试、集成测试等步骤。
集成测试阶段
封版后,从 develop 分支拉取对应版本的 release 分支,在 release 分支进行集成测试和集成测试中的 bug 修复。
集成测试中的 bug 要拉取 bugfix/* 分支进行 bug 修复,修复后 MR 回对应分支
在多版本同时开发时,上一版本封版拉取 release 分支后,下一版本需求可 MR 回 develop
发布阶段
集成测试全部通过后,可从对应 release 分支发布版本
发布成功后,打对应 TAG
合并回 develop 分支
见上图红色部分
线上bug修复阶段
在对应的需要修复的 release 分支拉取 hotfix/*,进行 bug 修复,MR 回对应分支
测试通过后,可从对应 release 分支发布小版本
发布成功后,打对应 TAG
如果当前分支是修复该 bug 的最新分支,则合并回 develop 分支;否则,不合回
原则上,线上 bug 修复应该由最新的 release 分支修复后合回,如同个 bug 在 1.0 和 1.1 分支都要修复,我们只需要从 release 分支拉取对应 bugfix 分支,修复完合回 release 分支,并只将 release/1.1 合回 develop 即可。
好了,就这些了。
完。