Git进阶·GitFlow·壹

2023/11/30 10:20:58

文章目录

  • 1 Git进阶——GitFlow工作流程
    • 1.1 引言
    • 1.2 master与develop分支
      • 1.2.1 master
      • 1.2.2 develop
    • 1.3 feature分支
    • 1.4 Release分支
    • 1.5 hotfix分支
    • 1.6 GitFlow示例
      • 1.6.1 在master上新建dev分支
      • 1.6.2 基于dev创建feature分支
      • 1.6.3 feature分支上开发业务代码
      • 1.6.4 将feature合并到dev
        • 1.6.4.1 先将feature新增代码提交到本地,为后边合并做准备
        • 1.6.4.2 切换dev分支,feature代码合并到dev
        • 1.6.4.3 dev推送至git,开发测试代码完成推送
      • 1.6.5 测试无误,dev合并到master,并打tag发行
        • 1.6.5.1 切换至master进行代码合并
        • 1.6.5.2 打tag,进行正式版发布
    • 1.7 总结

1 Git进阶——GitFlow工作流程

1.1 引言

前边我所所说的Git入门阶段,都只是在做一个入门学习,然而,在实际开发中,我们常使用GitFlow思想进行项目开发,经过企业实践,此方法为项目开发过程中,较好的一种思想。

1.2 master与develop分支

在这里插入图片描述

1.2.1 master

master发布上线分支,基于master打tag,基于tag进行发布,master分支上不允许开发,需要保持此分支稳定。

1.2.2 develop

develop开发阶段分支不能直接基于此分支开发,需要基于develop创建feature分支,在feature分支上进行开发,feature分支上代码开发测试完毕后,再合并到develop分支。

1.3 feature分支

在这里插入图片描述

feature:对于新功能开发基于develop开发feature分支,功能开发完成后,再合并到develop分支。

1.4 Release分支

在这里插入图片描述

release:基于develop分支创建release分支,release分支不在添加新功能只做bug修复,修复之后,再合并到master和develop分支,然后基于master打出版本的tag。

1.5 hotfix分支

在这里插入图片描述

hotfix:如果发布到生产环境的版本(即打tag的版本出现bug),此时需要基于master创建
hotfix分支修复,修复完后合并到master和develop。
注意永不在master上开发代码

1.6 GitFlow示例

1.6.1 在master上新建dev分支

1.6.1.1 New Branch

在这里插入图片描述1.6.1.2 命名dev在这里插入图片描述
1.6.1.3 切换到dev

在这里插入图片描述

1.6.2 基于dev创建feature分支

1.6.2.1 在dev上New Branch
在这里插入图片描述

1.6.2.2 填写feature分支名
在这里插入图片描述
1.6.2.3 切换到feature分支
在这里插入图片描述

1.6.3 feature分支上开发业务代码

1.6.3.1 开发完毕测试无误
在这里插入图片描述

1.6.4 将feature合并到dev

1.6.4.1 先将feature新增代码提交到本地,为后边合并做准备

在这里插入图片描述

1.6.4.2 切换dev分支,feature代码合并到dev

注意:进行分支合并时:

  • ① 首先,切换至要合并的分支,
  • ② 其次,在要合并的分支上选择被合并的分支,点击合并,
  • 例如:需要将feature合并到dev,则需切换至dev图中①),随后在dev选择feature分支(图中②),进行合并Merge图中③)。
    在这里插入图片描述

1.6.4.3 dev推送至git,开发测试代码完成推送

1.6.5 测试无误,dev合并到master,并打tag发行

测试dev无bug后,将dev合并到master

1.6.5.1 切换至master进行代码合并

在这里插入图片描述

1.6.5.2 打tag,进行正式版发布

  • ①首先,确定处于master分支,发行版本需要基于master
  • ②其次,点击Git的Log模块,选择需要进行发布的具体版本
  • ③随后,选择master分支
  • ④最后,选择指定版本,右键 New Tag
  • ⑤紧接着,填写版本号
  • ⑥点击commit
  • ⑦ 选择Push Tag,完成push
    在这里插入图片描述
    在这里插入图片描述

在这里插入图片描述

1.7 总结


http://www.jnnr.cn/a/488076.html

相关文章

Python编程快速入门

Python编程环境设置 Python是一种解释性语言,它使用解释器来解释和执行代码,这对用户来说省去了C或C之类语言的编译步骤,直接从源代码即可运行,因此更容易编写和调试。工欲善其事,必先利其器。在学习Python编程之前&a…

Go 存储系列:Hash存储引擎 Bitcask

Hash 存储引擎 在现代软件系统中,存储和检索数据是一个非常重要的任务。随着数据量的不断增长,如何高效地存储和检索数据变得越来越重要。Hash 存储引擎是一种常见的存储引擎,它可以快速地存储和检索数据。 在本文中,我们将介绍…

Chat-GPT 聚合平台 Poe:集成多个 AI 聊天机器人

Chat-GPT 聚合平台 Poe:集成多个 AI 聊天机器人 介绍 Poe 是知名问答社区 Quora 推出的 AI 平台——开放探索平台 (Platform for Open Exploration, Poe)。Poe 集成了多个基于大型语言模型的聊天机器人,包括 ChatGPT,以及 Sage、Claude、Dr…

简谈你对synchronized关键字的使用

👨‍🎓作者:bug菌 ✏️博客:CSDN、掘金、infoQ、51CTO等 🎉简介:CSDN|阿里云|华为云|51CTO等社区博客专家,历届博客之星Top30,掘金年度人气作者Top40,51CTO年度博主Top12…

spring boot使用elasticsearch分词,排序,分页,高亮简单示例

目录 1. 创建ES实体2. 创建查询实体3. 查询方法实现3.1 核心代码3.2 构建查询条件3.2.1 关键词分词 3.3 高亮处理 4.完整查询代码展示 记,写一个简单的es分词demo,es版本6.8.12 如果使用es7有些方法可能会有所改变,请参考7的文档 es安装教程:…

【操作系统】02.进程管理

多道程序系统 多道就是将多个程序同时装入内存,使之并发运行。操作系统也是基于多道产生的,提高了资源利用率和系统吞吐量。 进程 定义 进程是程序的一次执行 进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位 在引入线…

Ex-ChatGPT本地部署+Azure OpenAI接口配置+docker部署服务

Ex-ChatGPT项目分为 Ex-ChatGPT 和 WebChatGPTEnhance 两部分,Ex-ChatGPT启动后是个web服务,通过访问ip端口体验; WebChatGPTEnhance可编译生成一个浏览器插件,Chrome或者Microsoft edge浏览器可以安装该插件,点击该插…

API接口对接的流程和注意的事项

API接口对接是将两个应用程序或系统连接并进行数据交换的过程。在进行API接口对接时,需要确保两个系统具有相同的协议和格式,并且数据传输过程中不会出现错误或数据丢失。下面是API接口对接的流程和注意事项: 流程: 1.确认数据格…

oracle--常用维护语句

1、sqlpus 连接 [rootdb-server ~]$su - oracle ##切换oracle用户 [oracledb-server ~]$ sqlplus /nolog ##启动客户端进程 SQL>conn zyl/zyl2022 ##普通用户登录 SQL>conn / as sysdba ##管理员登录 Connected. SQL> 2、启动或关闭数据库 SQL>startup…

共享电单车RFID停车技术分析

近段时间,某地主城区运营商信号基站受严重干扰,造成300多个基站,超过5万的用户受到影响。据无线电监测站的调查确认干扰源来自共享电单车,是共享电单车加装的RFID停车标签惹的祸,而该地区RFID终端选用的是超高频&#…

chatgpt赋能python:Python中如何对文本进行修改

Python中如何对文本进行修改 在Python编程中,涉及到文本操作的场合并不少见。我们可能需要读取文件、解析HTML网页、处理字符串等等。而在对文本进行操作的过程中,修改文本是非常常见的需求。本文将介绍Python中对文本进行修改的几种基本方法。 1. 字符…

基于C++的网盘系统项目开发教程

项目资源下载 基于C的网盘系统项目源码CSDN下载地址基于C的网盘系统项目源码GitHub下载地址 项目简介 本项目基于C开发,整个项目采用C/S架构,使用Sqlite3数据库存储用户信息,本地磁盘存储用户文件,使用Socket进行客户端和服务器之…

下载YouTube视频的一种方法

文章目录 工具名称下载方法使用方法1.只下载音频2.下载音频转换成mp3(加上-x –audio-format参数)3.下载视频(带音频)ID:22 | EXT:mp4 | 1280*720 下载的数据集:YouCook2 工具名称 yt-dlp 下载…

1.MySQL安装与配置

1.MySQL安装与配置 📤1 数据库介绍📤🚪1.1关于MySQL主要要学啥🚪 ✉️2 MySQL服务器安装✉️📄2.1 Windows绿色安装📄📑2.2 Windows中重装MySQL📑 📨3 Mac中常见的安装问…

python的统计函数库scipy.stats是一个很棒的统计包

描述:在Scipy的模块中,有一个统计的木块——States,其中函数有描述统计(describe)、峰度(kurtosis)、偏度(skew)、众数(mode)、n阶矩。 分布:还有一些分布函数,正泰分布(norm)、对数正态分布(lognorm)、…… 计算:针…

格式化输出Printf总结说明

一,简介 在C语言运行调试过程中,需要使用printf进行打印log信息,本文主要介绍常用的printf打印格式信息,方便提高调试的效率。 二,Printf转换说明 printf函数的转换说明由字符%和跟随其后的最多5个不同的选项构成&a…

STM32基本外设超详细44000字教程

GPIO GPIO(General Purpose Input Output)通用输入输出口可配置为8种输入输出模式引脚电平:0V~3.3V,部分引脚可容忍5V输出模式下可控制端口输出高低电平,用以驱动LED、控制蜂鸣器、模拟通信协议输出时序等输入模式下可…

优化版本 穿越火线(CF) FPS AI 自瞄 代码 权重 数据集(下面有链接)

更新初衷 本人在制作过程中,有一些爱钻研的朋友来问以及提出增加一些新的功能点回会更好,本着学习研究态度,在第一个版本上进行优化,增加一些内容 不喜欢看过程的小伙伴直接看最下面 界面 解决问题: 1、进入慢 2、无…

代码随想录算法训练营第四十六天 | 力扣 139.单词拆分

139.单词拆分 题目 139. 单词拆分 给你一个字符串 s 和一个字符串列表 wordDict 作为字典。请你判断是否可以利用字典中出现的单词拼接出 s 。 注意:不要求字典中出现的单词全部都使用,并且字典中的单词可以重复使用。 解析 1.确定dp数组以及下标的含义 …

Web 应用程序防火墙 (WAF) 相关知识介绍

Web应用程序防火墙 (WAF) 如何工作? Web应用防护系统(也称为:网站应用级入侵防御系统。英文:Web Application Firewall,简称:WAF)。利用国际上公认的一种说法:Web应用防火墙是通过执…
最新文章