Skip to content

版本管理

1、产品开发

  • 开发分支:develop

产品的日常开发主要是在develop分支上进行的,任何的新需求及缺陷修复,一定要基于develop分支来做,在没有特殊的情况下,开发人员应该禁止直接在项目特性分支上直接做新需求开发与缺陷修复,完成新需求开发或者缺陷修复之后,代码应该合并到项目特性分支上去。

2、产品测试

  • 测试分支:test
  • 测试标签:Test_{version}_{serial}
  • 测试标签示例:Test_20230930_1.0.0Test_20230930_1.0.1

2.1、产品提测

产品提测时,首先应该将develop分支代码合并至test分支,并根据此次版本发布的版本号检出对应的标签,以230930版本为例,develop分支合并至test分支后,需要以test分支为基础检出测试标签Test_20230930_1.0.0,然后基于标签Test_20230930_1.0.0打包提供给测试部门进行测试。

2.2、产品测试及测试缺陷修复

测试人员测试出来的缺陷提交给开发人员时,开发人员首先应该确认当前的测试代码版本。假如当前的测试版本Test_20230930_1.0.0,开发人员应该去develop分支上修复该缺陷,将对应的缺陷修复代码合并至test分支,再基于标签Test_20230930_1.0.0检出临时分支Test_20230930_1.0.0_temporary,再将对应的缺陷修复代码合并至Test_20230930_1.0.0_temporary后,并以临时分支Test_20230930_1.0.0_temporary为基础检出新的测试标签Test_20230930_1.0.1,并基于标签Test_20230930_1.0.1打包提供给测试部门进行测试,最后删除临时分支Test_20230930_1.0.0_temporary

注意事项: 1、所有测试同事应该在一套测试环境上测试。 2、缺陷所有缺陷修复应该在develop分支上进行,再将代码合并至其他分支,禁止直接在其他分支上直接改代码。 3、版本测试期间,如果需要在此版本上继续提交新需求,需要提前跟测试部门沟通好之后,再将新需求合并至test分支,并且基于当前测试标签检出临时分支,将新需求代码合并至临时分支之后,再以临时分支检出新的测试标签,最后使用新的测试标签代码打包测试。 4、产品在一个版本测试期间,可以同时发起多个版本的测试工作。TODO:待定,多个版本的测试缺陷修复代码该如何提交。 5、TODO:待定,同一产品多人同时修复测试问题之后,如何保证同一时间提交代码至临时分支的问题。

3、版本发布

  • 发版分支:master
  • 发版标签:Release_{version}
  • 发版标签示例:Release_20230930

产品版本测试工作完成之后,需要将测试标签代码合并至master分支,再以master分支为基础检出新的发版本标签进行新版本发布。以230930版本为例,产品版本新版本发布时,需要以master分支为基础检出发版本标签Release_20230930,最后通过发版本标签Release_20230930打包进行新版本发布。

4、版本发布之后缺陷修复与项目特性需求开发

  • 版本缺陷修复分支:Hotfix_{version}
  • 版本缺陷修复分支示例:Hotfix_20230930
  • 版本项目特性分支:Feature_{version}_{projectName}
  • 版本项目特性分支示例:Feature_20230930_guangDongGongAn

4.1、版本发布之后缺陷修复

产品新版本发布之后,应该以发版本标签为基础,检出版本缺陷修复分支,版本缺陷修复分支用于产品新版本发布之后,修复该版本上的缺陷,该分支不允许提交需求,可以给所有升级过新版本并且需要修复产品版本缺陷的项目进行升级。以230930版本为例,Release_20230930版本发布之后,可以以发版标签Release_20230930为基础检出版本缺陷修复分支Hotfix_20230930。如果有项目在升级完Release_20230930版本之后有发现缺陷,并且项目当前版本是Release_20230930,首先应该去develop分支上修复该缺陷,在develop分支上缺陷修复之后,需要将修复缺陷的代码合并至缺陷版本修复分支Hotfix_20230930,最后以缺陷修复分支Hotfix_20230930为基础,给项目打包。

注意事项: 1、在以版本缺陷修复分支给项目打包时,需要注意前后端同步的问题,避免因单独升级前端程序或者单独升级后端程序导致前后端代码版本不一致的问题。

4.2、版本发布之后项目特性需求开发

产品新版本发布之后,对于一些项目特性需求,可以检出一个版本项目特性分支进行需求开发与缺陷修复,具体的版本项目特性分支检出粒度,由各产品模块自行决算,可以以项目为单位检出一个版本项目特性分支,也可以以多个项目为单位检出一个版本项目特性分支。以guangDongGongAn项目230930版本为例,guangDongGongAn项目在升级了Release_20230930版本发布之后,如果有提新需求或者有缺陷需要修复,首先应该去develop分支上完成需求开发或者缺陷修复,然后以发版标签Release_20230930为基础,检出版本项目特性分支Feature_20230930_guangDongGongAn,将对应的需求开发代码或者缺陷修复代码合并至版本项目特性分支Feature_20230930_guangDongGongAn,最后以版本项目特性分支Feature_20230930_guangDongGongAn为基础给项目打包。(guangDongGongAn项目在升级了Release_20230930版本发布之后,存在先升级过版本缺陷修复分支Hotfix_20230930,这种情况下,需要以版本缺陷修复分支Hotfix_20230930为基础,检出版本项目特性分支Feature_20230930_guangDongGongAn,再进行需求开发或者缺陷修复,流程上与从发版标签Release_20230930为基础,检出版本项目特性分支Feature_20230930_guangDongGongAn一致)。

注意事项: 1、版本项目特性分支不允许直接改代码提交,必须先在develop分支上完成需求开发或者缺陷修复,再将代码合并至版本项目特性分支,最后基于版本项目特性分支给项目打包