Git项目分支管理规范

一、分支管理

创建项目时,会针对不同环境创建两个常设分支(也可以算主分支,永久不会删除)
  1. master:生产环境的稳定分支,生产环境基于该分支构建。仅用来发布新版本,除了从release测试分支或 hotfix-*Bug修复分支进行merge,不接受任何其它修改。

master 分支上存放的应该是随时可供在生产环境中部署的代码(Production Ready state)。当开发活动告一段落,产生了一份新的可供部署的代码时,master 分支上的代码会被更新。同时,每一次更新,最好添加对应的版本号标签。

  1. develop:开发环境的稳定分支,公共开发环境基于该分支构建,develop分支是保存当前最新开发成果的分支。也就是说develop分支来源于featurereleasehotfix-*分支。
平时开发工作中,会根据需要由开发人员创建四类临时分支(也可以算辅助分支,用完立即删除)
  1. feature-*:功能分支,是为了开发某个特定功能,从develop分支上面分出来的。开发完成后,要merge到 develop分支。功能分支的命名,采用feature-*的形式命名(*为任务单号)
  2. release:测试环境的稳定分支,本分支是从develop分支派生出来的,测试人员在该分支进行测试并提交Bug,开发人员基于该分支派生的bugfix-*分支进行bug修复,最终再合并回release分支,待测试完成,该分支必须合并回develop分支和master分支。
  3. bugfix-*:测试阶段修复Bug用此类分支命名,该分支是为了修复某个bug,从release分支上面分出来的。修复完成后,再合并回release分支。Bug修复分支的命名,采用bugfix-*的形式命名(*为bug单号)
  4. hotfix-*:线上出现的紧急Bug,需要及时修复用此类分支命名,从master分支切换出来的分支,修复之后合并回masterdevelop

二、流程规范

正常开发流程
  1. develop分支切出多个命名为feature-*分支开发新功能。
  2. 开发者完成开发,提交分支到远程仓库。
  3. 开发者发起merge请求(可在gitlab页面“New merge request”),将新分支请求merge到develop分支,并提醒code reviewer进行review
  4. code reviewer对代码review之后,若无问题,则接受merge请求,新分支merge到develop分支,同时可删除新建分支;若有问题,则不能进行merge,可close该请求,同时通知开发者在新分支上进行相应调整。调整完后提交代码重复review流程。
  5. 转测时,直接从当前develop分支merge到release分支,重新构建测试环境完成转测。
  6. 测试完成后,从release分支merge到master分支,基于master分支构建生产环境完成上线。并对master分支打tag,tag名可为v1.0.0_2019032115(即版本号_上线时间)
生产环境Bug修复流程

生产环境的Bug分两种情况:

  1. 紧急Bug:严重影响用户使用的为紧急Bug,需立即进行修复。如关键业务流程存在问题,影响用户正常的业务行为。
  2. 非紧急Bug或优化:非关键业务流程问题,仅影响用户使用体验,或出现频率较小等,为非紧急Bug,可规划到后续版本进行修复。

第二种情况非紧急Bug修复参考“正常开发流程”。

第一种紧急Bug修复,需要从master分支切出一个bug修复分支,完成之后需要同时merge到master分支与 develop分支(如果需要测试介入验证,则可先merge到release分支,验证通过后再merge到master分支上线)。merge时参考“正常开发流程”。流程示意图如下

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/240853.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

docker部署Jira+配置MySQL8数据库

写在前面:如果你通过docker安装Jira且启动过,然后你现在又想使用mysql数据库,需要注意 你除了停掉原有容器,还需要删除:/var/lib/docker/volumes/jiraVolume/_data下的文件,否则启动后会无法正常使用。注意…

TypeScript 从入门到进阶之基础篇(十) 抽象类篇

系列文章目录 TypeScript 从入门到进阶系列 TypeScript 从入门到进阶之基础篇(一) ts基础类型篇TypeScript 从入门到进阶之基础篇(二) ts进阶类型篇TypeScript 从入门到进阶之基础篇(三) 元组类型篇TypeScript 从入门到进阶之基础篇(四) symbol类型篇TypeScript 从入门到进阶…

rust获取本地外网ip地址的方法

大家好,我是get_local_info作者带剑书生,这里用一篇文章讲解get_local_info的使用。 get_local_info是什么? get_local_info是一个获取linux系统信息的rust三方库,并提供一些常用功能,目前版本0.2.4。详细介绍地址&a…

分子动力学模拟—LAMMPS 模拟(固体和液体)数据后处理软件(六)

记录一下检索到一篇分子动力学模拟数据后处理的软件。 感谢论文的原作者! 主要功能: Structure Analysis Ackland Jones Analysis CentroSymmetry Parameter Common Neighbor Analysis Common Neighbor Parameter Atomic Structure Entropy Stein…

HTTP超详细介绍

HTTP讲解 1.HTTP的介绍2.HTTP协议的特点3.HTTP工作原理4.HTTP三点注意事项5.HTTP消息结构6.客户端请求消息7.服务端响应消息8.HTTP请求方法9.HTTP 响应头信息10.HTTP 状态码(HTTP Status Code)10.1.下面是常见的HTTP状态码10.2.HTTP状态码分类10.3.HTTP状…

Mysql深度分页优化的一个实践

问题简述: 最近在工作中遇到了大数据量的查询场景, 日产100w左右明细, 会查询近90天内的数据, 总数据量约1亿, 业务要求支持分页查询与导出. 无论是分页或导出都涉及到深度分页查询, mysql通过limit/offset实现的深度分页查询会存在全表扫描的问题, 比如offset1000w, limit10…

自定义C#类库(.dll文件)

环境配置 操作系统:Windows 10 开发工具:Visual Studio 2022 .Net桌面开发环境: 开发步骤 (一)创建C#类库项目 (二)配置项目名称和项目路径 (三)选择所使用的框架&a…

tinyxml2

使用tinyxml2,得知道一些xml基础 xml tutorial--菜鸟 tinyxml2类对象 链接 结构 XMLNode 什么是节点 节点:元素、声明、文本、注释等。 XMLDocument xml文档(文件)对象。 作用: 加载xml文件, tinyxml2作用 先定义两个宏 …

第二讲_HarmonyOS应用创建和运行

HarmonyOS应用创建和运行 1. 创建一个HarmonyOS应用2. 运行新项目2.1 创建本地模拟器2.2 启动本地模拟器2.3 在本地模拟器运行项目 1. 创建一个HarmonyOS应用 打开DevEco Studio,在欢迎页单击Create Project,创建一个新工程。 选择创建Application应用。…

RT Thread Stdio生成STM32L431RCT6工程后如何修改外部时钟

一、简介 RT Thread Stdio生成STM32L431RCT6工程后默认为内部时钟,如何修改为外部时钟呢? 二、修改时钟步骤 本方案修改外部时钟为直接修改代码,不通过STM32CubeMX 进行配置(使用这个软件会编译出错) (…

【GaussDB数据库】序

参考链接1:国产数据库华为高斯数据库(GaussDB)功能与特点总结 参考链接2:GaussDB(DWS)介绍 GaussDB简介 官方网站:云数据库GaussDB GaussDB是华为自主创新研发的分布式关系型数据库。该产品支持分布式事务,…

【控制篇 / 分流】(7.4) ❀ 01. 对指定IP网段访问进行分流 ❀ FortiGate 防火墙

【简介】公司有两条宽带,一条ADSL拨号用来上网,一条移动SDWAN,已经连通总部内网服务器,领导要求,只有访问公司服务器IP时走移动SDWAN,其它访问都走ADSL拨号,如果你是管理员,你知道有…

麒麟KYLINOS域名解析失败的修复方法

原文链接:麒麟KYLINOS域名解析失败的修复方法 hello,大家好啊!今天我要给大家介绍的是在麒麟KYLINOS操作系统上修复域名解析的方法。在日常使用中,我们可能会遇到由于系统配置问题导致的域名解析失败,这在内网环境下尤…

京东获得JD商品详情 API (jd.item_get):电商发展中的中重要性

数据整合与同步:对于许多电商企业来说,商品数据的管理是一个重要的环节。通过JD商品详情API,商家可以方便地获取京东平台上的商品详情,实现数据的整合与同步。这有助于确保商品信息的准确性,提高库存管理和订单处理的效…

回馈科教,非凸科技助力第48届ICPC亚洲区决赛

1月12日-14日,“华为杯”第48届国际大学生程序设计竞赛(ICPC)亚洲区决赛在上海大学成功举办。非凸科技作为此次赛事的支持方之一,希望携手各方共同推动计算机科学和技术的发展。 这是一场智慧的巅峰对决,320支优秀队伍…

超级详细的linux centos NFS共享服务器搭建

目录 背景说明: 1.服务端操作 1.1创建目录 1.2创建组 1.3创建用户 1.4目录授权给www:www 1.5安装nfs服务端 1.6配置权限 1.7启动服务 2.客户端操作 2.1安装软件 2.2创建目录 2.3挂载 2.4测试 2.4.1读写删除测试 2.4.1只读测试 背景说明: 看了一个帖子NFS教程,…

边缘计算AI智能分析网关V4客流统计算法的概述

客流量统计AI算法是一种基于人工智能技术的数据分析方法,通过机器学习、深度学习等算法,实现对客流量的实时监测和统计。该算法主要基于机器学习和计算机视觉技术,其基本流程包括图像采集、图像预处理、目标检测、目标跟踪和客流量统计等步骤…

wins安装paddle框架

一、安装 https://www.paddlepaddle.org.cn/install/quick?docurl/documentation/docs/zh/install/pip/windows-pip.html 装包(python 的版本是否满足要求: 3.8/3.9/3.10/3.11/3.12, pip 版本为 20.2.2 或更高版本 ) CPU 版:…

基于Python+django影片数据爬取与数据分析设计与实现

目录 一、 前言介绍: 二 、功能设计: 三、功能实现: 系统登录实现 管理员实现 用户模块实现 四、库表设计: 五、关键代码: 六、论文参考: 七、其他案例: 八、源码获取: 一…

canvas绘制不同样式的五角星(图文示例)

查看专栏目录 canvas实例应用100专栏,提供canvas的基础知识,高级动画,相关应用扩展等信息。canvas作为html的一部分,是图像图标地图可视化的一个重要的基础,学好了canvas,在其他的一些应用上将会起到非常重…