一、版本管理流程

  1. 主干分支(main): 研发的分支从主干检出、经过测试(UAT)验收后必须要合并到main分支上,并且需要发布到UAT环境上再次验收,方可发布, 此分支名称固定为main,每个业务线只存在一个。

  2. 功能分支(feature): 需求研发、功能迭代、缺陷修复、处于研发中的分支。此分支名称按版本规范命名, 每个业务线允许多个存在。

  3. 测试分支(uat): 发布到测试环境的分支,任何研发修改,都需合并到此分支进行测试验证。 此分支名称固定为uat,每个业务线只存在一个。

二、各业务线运作规范

  1. 每个业务线包含自己的main、uat和feature分支, 例如:

    国内业务:
    1) main 分支: main_china
    2) feature分支: internation_1.0.0_SNAPSHOT
    3) uat分支: uat_internation

    国际业务:
    1) main 分支: main_internation
    2) feature分支: internation_1.0.0_SNAPSHOT
    3) uat分支: uat_internation

  2. 如果各业务线有共性需求,处理流程:

    国内业务的 china_1.1.0_SNAPSHOT -> 合并至国际业务的uat_internation -> 验证后合并至国际业务的main_internation (从china_1.1.0_SNAPSHOT 合并)

三、版本命名规范

  1. 完整版本格式

    主版本号.次版本号.修订号-版本类型 【eg: 1.0.0-SNAPSHOT】

  2. 主版本号: 项目级主导的规划实现。

    对应:项目级需求【eg: 1.0.0-SNAPSHOT,2.0.0-SNAPSHOT … X.0.0-SNAPSHOT】

  3. 次版本号:功能性的新增与修改。

    对应:功能级需求 【eg: 1.0.0-SNAPSHOT,1.1.0-SNAPSHOT … 1.X.0-SNAPSHOT】

  4. 修订号:面向问题的修正处理。

    对应: BUG级缺陷修复【eg: 1.0.1-SNAPSHOT,1.0.2-SNAPSHOT … 1.0.X-SNAPSHOT】

  5. 版本号名称说明:

    1)SNAPSHOT : 快照版本,标识处于研发阶段,该版本可能存在未完成的功能或还需修复的bug,概念上对应dev分支。

    2)HOTFIX:修复版本, 针对临时缺陷或生产问题修复。

    3)BETA:测试版,发布测试的版本,概念上对应uat分支的测试。

四、版本合并管理规范

合并原则

  1. 开发分支(feature)都是基于主干分支(main)检出。
  2. 开发分支(feature)可以合并至UAT分支进行测试, 验收成功后可以合并至主干分支(main)回归。
  3. 测试分支(uat)不可以合并至其他任何分支, 验收后的分支,通过开发分支(feature)进行合并。

合并权限管控

  1. 权限合并至允许负责人操作, 研发人员不能直接操作,负责人通过gitlab管控好权限。

  2. 涉及到合并处理的两个环节, 一是提测时的合并, 二是测试通过回归验证的合并, 负责人必须做好审核, 避免代码合并出现的版本错乱与多模块关联性问题。

多业务线下的代码版本管理控制与研发流程规范相关推荐

  1. linux下python版本升级,Linux下升级python版本(示例代码)

    转载自:http://lovebeyond.iteye.com/blog/1770476 CentOS下的Python版本一般都比较低,很多应用都需要升级python来完成.我装的centOS的默认的 ...

  2. IE环境下判断IE版本的语句...[if lte IE 6]……[endif][if lte IE 7]……[endif]

    IE下判断IE版本的语句...[if lte IE 6]--[endif] 复制代码 代码如下: <!--[if IE 6]>  <![endif]-->  只有IE6版本可见 ...

  3. 百度万人协同规模下的代码管理架构演进

    互联网研发,唯快不破.为了提升公司整体研发效率,百度引入了业界的优秀工程实践,设计开发了一整套研发工具链.主要包括项目管理平台.代码开发协作平台和持续交付平台,分别针对需求.开发和交付场景,提供工具. ...

  4. Windows下显卡支持的cuda及配套GPU版本pytorch下载全流程(2022.03.27)

    Windows下显卡支持的cuda及配套GPU版本pytorch下载全流程(2022.03.27) 一.更新电脑显卡驱动(以mx150为例) 1.打开英伟达驱动下载官网:https://www.nvi ...

  5. EOS测试链加入流程(代码版本与主网同步)

    测试网络 EOS 测试链加入流程 (代码版本与主网同步) caokun_8341 · 4 分钟前 · 5 次阅读 准备:测试链目前的版本是v1.7.3 一.生成一个密钥对,私钥一定保存好,不要泄露,公 ...

  6. linux 杂记 怎么解决 cuda 10.1 跑 cuda8下的代码 error

    一个问题:error: /home/dell/.cache/Python-Eggs/correlation_package-0.1-py2.7-linux-x86_64.egg-tmp/correla ...

  7. KEIL,#ifdef宏定义下失效代码差异性显示

    KEIL,#ifdef宏定义下失效代码差异性显示 下图代码中我没有定义OS_USING_VFS,但是该段宏定义下的代码和普通代码显示无差异,不方便调试查找问题. 打开配置: 在Text Complet ...

  8. linux 更改make版本,Linux下查看系统版本和make版本

    一.查看Linux内核版本命令(两种方法): 1.cat /proc/versionz [root@localhost ~]# cat /proc/version Linux version 2.6. ...

  9. 三种代码版本控制系统的简介 以及 SVN的安装

    三种代码版本控制系统的简介 以及 SVN的安装 一.三种代码版本控制系统 1.1 CVS 什么是cvs??? 1.2.Git 什么是Git??? 1.3.SVN 什么是SVN??? SVN的作用??? ...

  10. JDK 21 要来了:已从主线分叉,将成为下一个 LTS 版本!

    编译 | 郑丽媛 出品 | CSDN(ID:CSDNnews) 根据 OpenJDK 官方更新,目前 JDK 21 进入 Rampdown 第一阶段,代码已从主线分叉出来.值得一提的是,JDK 21 ...

最新文章

  1. DataGrid基于Access的快速分页法
  2. MYSQL不能从远程连接的解决方法
  3. 什么是透传通道?(透明传输通道,就是当中继使)
  4. Hulu直播服务难点解析(三):关键收获
  5. (十)数据结构之“堆”
  6. 大文件上传服务器、支持超大文件HTTP断点续传实践总结
  7. HDOJ1012 u Calculate e
  8. GitHub 又又又挂了?
  9. C语言编译php环境,vscode中C语言编译环境的配置方法(分享)
  10. CPDA认证|数据分析师如何撰写数据报告?
  11. 如何使用cpolar内网穿透群晖NAS套件
  12. 视频动作识别(Action Recognition)综述
  13. 服务器名称 历史修改记录,清除 SQL Server Management Studio 服务器名称历史记录
  14. 总有人问我:独立站该怎么玩?3个案例,你看完就懂了
  15. 休闲小趣一一3Dmax“简易教程”——2.1“案例过程”——制作电脑桌与书架
  16. 实验设计第六讲 均匀设计
  17. 我的笔记本插上了网线 显示 未识别的网络无Internet访问 怎么弄?
  18. 2020年笔记本电脑选购指南
  19. 项目管理的闭环思维和实操
  20. 利用FFmpeg将立体声转为单声道wav

热门文章

  1. 一键生成属于自己的QQ历史报告,看看你对自己的QQ了解程度有多深?
  2. TrueLaunchBar 4.2
  3. Win7下安装XP(PE)
  4. 前端组件化埋点方案与实现
  5. Shiro 之 Subject 类
  6. JavaScript基础语法
  7. Android蓝牙4.0单车锁应用实例开发
  8. 错过校招_我们在用户测试中容易错过的事情
  9. reflections歌词翻译_花木兰主题曲Reflection翻译成中文的准确歌词
  10. 用matlab产生正弦信号并采样,正弦信号的采样与恢复..doc