以GitFlow分支模型为基准的Git版本分支管理流程

以GitFlow分支模型为基准的Git版本分支管理流程

文章目录

  • 以GitFlow分支模型为基准的Git版本分支管理流程
    • GitFlow分支模型中的主要概念
    • GitFlow的分支管理流程图
    • 版本号说明
    • 借助插件Git Flow Integration Plus实现分支模型管理
    • 其他模型
      • TBD模型
      • 阿里AoneFlow模型

GitFlow分支模型中的主要概念

  • master分支:为生产环境运行分支代码,只能有一个

  • develop分支:主干分支,只能有一个

  • feature分支:特性分支,可以有多个,每个工作项一个分支

  • release分支:发布分支,可以有多个,测试用

  • hotfix分支:热修复分支,可以有多个,用于生产环境出现问题时快速修复

  • bugfix分支:发布分支时使用的bug修复分支

GitFlow的分支管理流程图

在这里插入图片描述

版本号说明

x.y.z-[state]

  • x.y.z 为各版本的序号
  • state 可选段,用来表示当前软件的状态。例如:b 表示bate版,即测试版。

x、y、z为非负整数

序号说明
x主版本号(major)无法向下兼容时,需要递增
y次版本号(minor)新增新的特性时,需要递增
z修订版本号(patch)修复问题时,需要递增

state的取值

  • alpha : 内测版,Bug多
  • beta :公测版,有缺陷
  • 没有state,代表正式版

借助插件Git Flow Integration Plus实现分支模型管理

  1. 配置Git Flow
    在这里插入图片描述

在这里插入图片描述

  1. 在通过右下角的Gitflow插件开启分支。

在这里插入图片描述

  1. 提交本地变更

在这里插入图片描述

  1. 在通过右下角的Gitflow插件实现版本的合并。

  2. 推送至远程仓库,记得推送标记。

在这里插入图片描述

其他模型

TBD模型

TBD模型只有一个主分支(master)和多个发布分支(release),这种模式主要在集中式管理工具里使用的比较多,所有开发人员都在一个分支工作,并提交代码到一个分支,这种模式对开发人员的协调沟通要求较高。

阿里AoneFlow模型

AoneFlow模型是基于上述两种模型演变出来的一种新模型,核心内容如下:

  1. master分支: 1个 主干分支
  2. feature分支: 多个 特性分支
  3. release分支: 多个 发布分支

工作流程:

  1. 有新功能/缺陷时,基于master分支新建feature分支进行开发,
  2. 发布时,基于master分支新建release分支,并将本次需要发布的feature分支合并入release分支,并基于此release分支发布
  3. 将此release分支合并入master分支,并打tag标签 此操作发布前后进行都可以
  4. 线上突然出现bug时,基于master分支新建release分支,基于此release分支新建feature分支,修复后再合并入release分支,重复2.3步操作.
  5. 删除release分支,删除release分支关联的feature分支.

可以总结:
AoneFlow是通过release分支来关联feature分支来做分支管理的.

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【C++入门】string类常用方法(万字详解)

目录 1.STL简介1.1什么是STL1.2STL的版本1.3STL的六大组件1.4STL的缺陷 2.string类的使用2.1C语言中的字符串2.2标准库中的string类2.3string类的常用接口说明 (只讲解最常用的接口)2.3.1string类对象的常见构造2.3.2 string类对象的容量操作2.3.3string…

count(1)、count(*)和count(列名)及官网解释

最近面试并且看网上的资料说count(1)和count(*)参差不同,就查看了官网,特别记录一下。 共同点:都是用来统计我们的表中的行数不同点: 执行效果上来说:count(1)和count(*)都不会忽略列值为null的行数,而cou…

一篇文章带你了解-selenium工作原理详解

前言 Selenium是一个用于Web应用程序自动化测试工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome&#xff0c…

无涯教程-Android - ToggleButton函数

ToggleButton将已选中/未选中状态显示为按钮。它基本上是一个带有指示灯的开/关按钮。 Toggle Button ToggleButton属性 以下是与ToggleButton控件相关的重要属性。您可以查看Android官方文档以获取属性的完整列表以及可以在运行时更改这些属性的相关方法。 Sr.No.Attribute…

linuxdeploy安装CentOS7搭建django服务

目录 一、busybox安装 二、linuxdeploy安装 三、linuxdeploy软件设置及安装 四、CentOS基础环境配置 五、CentOS7 上安装Python3.8.10 六、systemctl的替代品 七、CentOS7 上安装mysql5.2.27数据库 八、CentOS7 上安装Nginx服务 九、Django项目应用部署 参考文献: 一…

删除、移动、复制文件时总是要卡在99%一段时间解决方法

Win10文件夹重命名、移动、删除等操作卡顿3-5秒。 原因分析: 查看发现,卡顿期间资源管理器无响应,并且其高度占用CPU资源,但是对于非文件夹文件操作没有问题。 解决方案: 1、双击“此电脑”,选择“查看”,再选择“选…

STM32启动模式详解

文章目录 前置知识1. 单片机最小系统组成2. BOOT电路3. 三种启动模式4. 存储器映射 从主FLASH启动从系统存储区启动从SRAM启动 前置知识 1. 单片机最小系统组成 一个单片机最小系统由电源、晶振、下载电路、BOOT电路、和复位电路组成。少一个单片机都启动不了。 2. BOOT电路 …

Java设计模式:四、行为型模式-06:观察者模式

文章目录 一、定义:观察者模式二、模拟场景:观察者模式2.1 观察者模式2.2 引入依赖2.3 工程结构2.4 模拟摇号2.4.1 摇号服务接口2.4.2 摇号返回结果类 三、违背方案:观察者模式3.0 引入依赖3.1 工程结构3.2 添加摇号接口和实现3.2.1 摇号服务…

全新纠错码将量子计算提效10倍!

上周,来自两个研究小组的最新模拟报告称,一类新兴的量子纠错码的效率比目前的“黄金标准”(即表面码)高出一个数量级。 量子纠错码的工作原理都是将大量容易出错的量子比特转换成更小的“受保护”量子比特,这些量子比特…

Linux-安装redis6.2.1及主备复制模式(replication)

Linux-安装redis6.2.1 下载redis6.2.1资源上传至安装目录解压及编译解压修改名称编译 修改配置文件主节点从节点 启动及测试启动主节点从节点 测试 下载redis6.2.1资源 地址》https://redis.io/download/ 上传至安装目录 例:/data/replication/ 解压及编译 解…

实录分享 | Alluxio在AI/ML场景下的应用

欢迎来到【微直播间】,2min纵览大咖观点 本次分享主要包括五个方面: 关于Alluxio;盘点企业在尝试AI时面临的挑战;Alluxio在技术栈中的位置;Alluxio在模型训练&模型上线场景的应用;效果对比&#xff1…

让文字会说话,启英泰伦离线语音合成(TTS)技术全面升级!

• A01,请用餐 • 请001号到03号窗口办理业务 • 本次列车即将到达火车南站,请提前准备下车 语音合成(TTS)技术作为人工智能领域的一项重要技术,已经深入大众生活,无孔不入。通过将文字转化为生动自然的…

Window11-Ubuntu双系统安装

一、制作Ubuntu系统盘 1.下载Ubuntu镜像源 阿里云开源镜像站:https://mirrors.aliyun.com/ubuntu-releases/ 清华大学开源软件镜像网站:https://mirrors.tuna.tsinghua.edu.cn/ubuntu-releases/ 选择想要的版本下载,我用的是20.04版本。 2…

【element-ui】el-dialog改变宽度

dialog默认宽度为父元素的50%,这就导致在移动端会非常的窄,如图1,需要限定宽度。 解决方法:添加custom-class属性,然后在style中编写样式,注意,如果有scoped限定,需要加::v-deep &l…

谷歌发布Gemini以5倍速击败GPT-4

在Covid疫情爆发之前,谷歌发布了MEENA模型,短时间内成为世界上最好的大型语言模型。谷歌发布的博客和论文非常可爱,因为它特别与OpenAI进行了比较。 相比于现有的最先进生成模型OpenAI GPT-2,MEENA的模型容量增加了1.7倍&#xf…

【wireshark抓取数据包-PGSQL协议】

测试查看PGSQL协议的网络流量数据明细 1)捕获过滤的条件设置,tcp.port5432(数据库的端口) 2)上面是wireshark的主窗口,分三大主块:Packlist List(数据包列表&#xff09…

Ubuntu入门05——磁盘管理与备份压缩

1.检查磁盘空间占用情况 2.统计目录或文件所占磁盘空间大小 3.压缩 3.1 zip、unzip和zipinfo 运行时发现上面命令不成功,换成: (将文件lkw放入压缩文件lkw01.zip中) sudo zip -m lkw01.zip lkw 解压文件: 实操&…

Leetcode1006笨阶乘

思路:以4为一个分组分别进行处理 class Solution:def clumsy(self, n: int) -> int:answer_dict {0:0,1: 1, 2: 2, 3: 6, 4: 7}if n > 4:answer n * (n - 1) // (n - 2) n - 3n - 4else:print(answer_dict[n])return answer_dict[n]print(answer)while n …

SPSS教程:如何绘制带误差的折线图

SPSS教程:如何绘制带误差的折线图 1、问题与数据 研究者想研究45-65岁健康男性中,静坐时长和血胆固醇水平的关系,故招募100名研究对象询问其每天静坐时长(time),并检测其血液中胆固醇水平(cho…

软件测试Day4|软件测试理论02

目录 6. 测试用例基础6.1 测试用例的定义6.2 测试用例要素6.3 测试用例设计和编写的作用 7. 黑盒测试用例设计方法7.1 用例设计方法分类7.2 测试数据选择7.2.1 等价类划分(1)等价类划分原理(2)确定等价类的原则(3&…