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.mzph.cn/news/632009.shtml

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

相关文章

阿里云服务器地域所在位置的详细解释

2024年阿里云服务器地域分布表,地域指数据中心所在的地理区域,通常按照数据中心所在的城市划分,例如华北2(北京)地域表示数据中心所在的城市是北京。阿里云地域分为四部分即中国、亚太其他国家、欧洲与美洲和中东&…

使用Matplotlib绘制3d图形

目录 一:绘制一个正方体 二:绘制一个3*3*3魔方 为了绘制立体,主要用到Matplotlib中的一个函数voxels voxels([x, y, z, ], filled, facecolorsNone, edgecolorsNone, **kwargs) 绘制一组填充体素,所有体素在坐标轴上绘制为1x1x…

ARM 1.12

norflash与nandflash的区别: 一、NAND flash和NOR flash的性能比较 1、NOR的读速度比NAND稍快一些。 2、NAND的写入速度比NOR快很多。 3、NAND的4ms擦除速度远比NOR的5s快。 4、大多数写入操作需要先进行擦除操作。 5、NAND的擦除单元更小,相应的擦除电…

来来来 这份强化学习(Reinforcement Learning)知识点秘籍请收好

Look!👀我们的大模型商业化落地产品📖更多AI资讯请👉🏾关注Free三天集训营助教在线为您火热答疑👩🏼‍🏫 强化学习(RL)是机器学习的一个分支,重点是训练算法通过与环境的…

Spring MVC学习之——RequestMapping注解

RequestMapping注解 作用 用于建立请求URL和处理请求方法之间的对应关系。 属性 value:指定请求的实际地址,可以是一个字符串或者一个字符串列表。 value可以不写,直接在括号中写,默认就是value值 RequestMapping(value“/hel…

PXE——高效批量网络装机

目录 部署PXE远程安装服务 1.PXE概述 2.实现过程 3.实验操作 3.1安装dhcp、vsftpd、tftp-server.x86_64、syslinux服务 3.2修改配置文件——DHCP 3.3修改配置文件——TFTP 3.4kickstart——无人值守安装 3.4.1选择程序 3.4.2修改基础配置 3.4.3修改安装方法 3.4.4…

【开源】基于JAVA语言的快乐贩卖馆管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 搞笑视频模块2.3 视频收藏模块2.4 视频评分模块2.5 视频交易模块2.6 视频好友模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 搞笑视频表3.2.2 视频收藏表3.2.3 视频评分表3.2.4 视频交易表 四、系…

【Git相关问题】修改代码提交push时的用户名字

最简方法如下: 直接修改Git的用户配置文件 .gitconfig,这个配置文件的路径一般是 C:\Users\本机用户名\.gitconfig 用记事本或编辑器打开,在[user]下即可修改用户名name或邮箱email 参考: 使用Git进行版本控制,不同…

POKT Network 开启周期性通缩,该计划将持续至 2025 年

POKT Network(也被称为 Pocket Network)在通证经济模型上完成了重大的改进,不仅将通货膨胀率降至 5% 以下,并使 POKT 通证在 2025 年走向通缩的轨迹上,预计到2024 年年底通货膨胀率将降至 2% 以下。POKT Network 的 “…

SpringBoot 2.x 正式停更了。Java 8 由 Solon 接收!

最近有好多个新闻说:SpringBoot 2.x 正式停更了,Java 8 怎么办?当然用 Solon 喽! Solon,同时支持 jdk8, jdk11, jdk17, jdk21。也支持 graalvm native image。既支持 java8,也支持 java21 的: …

如何录制屏幕视频?让视频制作更简单!

随着数字化时代的来临,录制屏幕视频成为一种常见的传播和教学方式。无论是制作演示文稿、教学视频,还是记录游戏操作,屏幕录制为用户提供了强大而灵活的工具。可是您知道如何录制屏幕视频吗?本文将深入介绍两种常见的屏幕录制方法…

【Linux】Linux权限掩码umask

起始权限 我们在创建文件或目录的时候,通常都会有起始的权限,比如目录在创建的时候就有x权限,而且所有同类型文件的起始权限都是相同的 umask 功能: 查看或修改文件掩码 新建文件夹默认权限0666 新建目录默认权限0777 但实际…

npm超详细安装(包括配置环境变量)!!!npm安装教程(node.js安装教程)

安装node.js:(建议选择相对低一点的版本,相对稳定)​下载完成直接点击next即可(安装过程中会直接添加path的系统变量,变量值是自己的安装路径,可自行选择,比如:D:\software\)​安装完成:winR打开电脑控制台&#xff0c…

c语言案例双色球

系列文章目录 c语言案例双色球 c语言案例双色球 系列文章目录c语言案例双色球 c语言案例双色球 int main() {srand((unsigned int)time(NULL));//双色球两种原色 红球蓝球(61)红球1-33 蓝球1-16 打印双色球中奖信息//红色球不能重复 int ball[6];//红球f…

四元数的理解

一 四元数的可视化 一共三个虚维度来描述空间,实数则在第四个维度,垂直于全部三个虚数轴 四元数可以优雅的描述并计算三维旋转 “四维右手法则” 1.一维到二维(直线人小莱) 两个复数Z和W相乘,把z当成一个函数&…

解决springboot启动报Failed to start bean ‘subProtocolWebSocketHandler‘;

解决springboot启动报 Failed to start bean subProtocolWebSocketHandler; nested exception is java.lang.IllegalArgumentException: No handlers 问题发现问题解决 问题发现 使用springboot整合websocket,启动时报错,示例代码: EnableW…

基于SSM的家政公司服务平台的设计与实现

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:Vue、HTML 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目:是…

以某轧钢厂为例浅谈电能管理系统

摘要:结合某轧钢厂的现状和电能管理软件的优势应用,在节能降耗方面利用电能管理软件对轧钢厂电能损耗进行实时监控,为实现能源优化配置和节能降耗管理提供了大量数据,从而为大型能耗企业的节能降耗实施奠定了基础。 关键词&#x…

vue3使用vue-masonry插件实现瀑布流

《Vue插件》瀑布流插件vue-masonry的使用与踩坑记录 参数:item-selector transition-duration column-width origin-left origin-top gutter 前言: 之前其实有分享过一篇纯CSS实现瀑布流的方法: https://oliver.blog.csdn.net/article/details/126450691,但纯CSS实现…

vivado RTL运行方法检查、分析方法报告、报告DRC

运行方法检查 Vivado Design Suite提供基于超快设计的自动化方法检查使用“报告方法论”命令的FPGA和SoC(UG949)方法论指南。您可以生成关于打开、详细阐述、综合或实现的方法论报告设计对于详细设计,方法报告会检查XDC和RTL文件。对于有关使…