分支策略——TBD Workflow(五)
分支分类
分支主要分为两大类:
- main分支
- supporting分支
Main分支
分为两类:
- master分支:master(trunk)
- release分支:sdk_vx.y_release
Supporting分支
只有一类,Gitlab以feature分支作为提交的基本单位
- feature分支
分支命名规范
master分支
master
release分支
sdk_{version_id}_release
version_id为发布版本号
例:
sdk_v1.2_release
feature分支
feature/{jira_id}/{description}
例:
feature/GESWITCH-333/add_gpio_driver
Tag命名规范
Maintainer在开发的合适阶段在master分支和release分支上打tag。
Release branch Tag
当release分支上的feature全都开发完毕要进入到release candidate 测试阶段(rc测试),打上tag: sdk_{version_id}
例:
sdk_v1.2
RC 测试tag
在release分支上合并修复patch后需要打tag:sdk_{version_id}-rcx
rcx代表第几轮rc测试
例:
sdk_v1.2-rc3
sdk_v1.2.3-rc2
分支关系
- master分支
- 为开发的主干分支
- 所有开发工作提交到次分支
- 由Maintainer创建
- release分支
- 为发布分支
- 提交bugfix(或者feature(尽量少这么做))到此分支
- 如果bugfix(或者feature)在master分支上也需要的话应该首先提交到master分支,再cherry-pick到release分支。(以免master上遗漏这些patch)
- 一般从master分支的某个tag处检出(着急的话直接检出,譬如当前版本的feature未开发完,又需要开发下一个版本),或者也可以从其他release分支上检出
- 由Maintainer创建
- feature分支
- 为提交的基本单元
- 从master分支上检出,合并入master
- 从release分支上检出,合并入release分支
分支、Tag权限
为了防止错误的提交覆盖提交历史,规定所有的remote端创建的分支都开启protected权限,所有提交只能以feature branch的形式,请求merge request。任何直接提交到remote branch上的push请求都会被拒绝。
Maintainer权限职责
- 创建master分支、release分支
- 合并feature分支
- 给master分支和release分支打tag
- 删除feature分支
- 更新版本ChangeLog(进入release阶段后和热修复后)和VERSION(进入release阶段后)文件
Developer权限职责
- 创建local feature分支
- push feature分支到Gitlab仓库
- 发起merge request
- 删除自己push的feature分支
Reviewer权限职责
- 评审feature代码
- 测试feature代码
- 通知Maintainer合并请求
Tester权限职责
- 测试Release分支上的项目
- 反馈Bug给Developer
分支禁止操作
- 禁止删除master分支、release candidate分支
- 禁止直接push提交到Gitlab,所有合并请求都应以feature branch的形式push
分支策略——TBD Workflow(五)相关推荐
- 持续交付之基于Git Flow代码分支策略实践
文章目录 一.前言 二.主干开发(TBD) 三.特性开发 1.Git Flow 2.产品分支策略 2.1.基本情况 2.2.分支管理 2.3.分支合并时间 2.4.初始化配置 2.5.迭代开发 2.6 ...
- 怎么merge分支_实战 Git 分支策略
项目上总有那么多不尽人意的地方,导致各方面出现问题.分支管理策略就是其中一个经常遇到的问题.例如: (1) 主干开发,发现代码质量不强,导致代码提交后阻塞,等待修复问题. (2)QA 进入了在 Dev ...
- 【版本控制管理】 深入 001 A successful Git branching model GIT 项目分支策略和释放管理
本文,转于老外的一个实际git的管理项目和想法.这篇文章作者把自己工作中实际使用git的版本控制构建做了总结.对的,就是git 的版本管理的构架.文章列举了一个复杂的项目开发生命维护的框架,构建了一个 ...
- Git工作流中常见的三种分支策略:GitFlow、GitHubFlow和GitLabFlow
摘要:聊一聊Git中的工作流--分支策略. 本文分享自华为云社区<Git工作流中常见的三种分支策略:GitFlow.GitHubFlow以及GitLabFlow>,原文作者:敏捷的小智. ...
- DevOps笔记-10:金融行业分支策略的建议
前言 现代版本控制系统不仅可以记录版本和变更记录,还有一个非常重要的功能,那就是分支管理.分支策略就是软件协作模式和发布模式的风向标.选择一种符合 DevOps 开发模式的分支策略,对于 ...
- 如何新建分支上传_Git分支策略及操作演示1|IDCF FDCC认证学员作品
徐磊老师在 IDCF FDCC 认证公益训练营中提出,需求管理.配置管理.版本管理是研发管理的三大基石.而 Git 是当前最棒的版本控制系统,是事实的业界标准.可见熟悉 Git 操作, 设计合适的分支 ...
- Git复习(三)之分支管理、分支策略
创建合并删除分支 我们知道每次提交git都会将他们串成一条线,这条时间线就是一个分支.在git里这条时间线叫做主分支,即master分支 HEAD指向master,master指向最新的提交,所以,H ...
- Git Flow分支策略与Azure DevOps相关功能简介
想了很久,还是写这么一篇文章来总结一下有关分支策略和DevOps的一些内容吧.其实,DevOps相关的内容并不是我的工作范围,不过对于敏捷开发.DevOps.项目管理等等这一系列的与开发过程相关的内容 ...
- 德玛西亚之WorkFlow(五)流程引擎创建
德玛西亚之WorkFlow(五)流程引擎创建 在之前了解了 Activiti 的配置和数据库各个表的功能含义.现在我们需要根据这些配置生成工作流引擎.Activiti 提供了多种创建流程引擎的方式供研 ...
最新文章
- 2018/8/30-31 A social learning particle swarm optimization for scalable optimization.
- Android SDK与API版本的对应关系
- SAP系统搜索分页的前后台实现
- Swift--数组和字典(二)
- 风机桨叶故障诊断(一) 样本的获取
- python的基础字典_python 基础之字典一
- 第七届蓝桥杯大赛个人赛省赛(软件类)真题4
- “OSPF” Router-ID
- Java设计模式之观察者模式(发布-订阅模式)
- pyqt5菜鸟教程_PyQt5教程(一)——第一个PyQt5程序
- linux设置定时重启任务
- 没有基础怎么学习PLC编程?
- 推荐一款基于.Net Core开发简约漂亮的 WPF UI库
- 注解和反射复习——B站
- 关于数据库可变长字符串类型长度设计问题:慷慨是不明智的
- 8421 BCD码 加减校正
- UART串口通信常用协议对比——rs232、485的区别
- 【Echarts】渐变色桑基图
- python win32print api_python学习笔记(win32print API介绍)
- 富文本编辑器summernote