GitFlow工作流
基于 Git 这一版本控制系统,通过定义不同的分支,探索合适的工作流程来完成开发、测试、修改等方面的需求。
例如:在开发阶段,创建 feature 分支,完成需求后,将此分支合并到 develop 分支上;在发布阶段,创建 release 分支,完成阶段开发任务后,将分支合并到 develop 和 master 分支上;在修改 bug 过程中,创建 Hotfix 分支,基于此分支完成 bug 修复,并合并到 develop 和 master 分支。其中,master分⽀和develop分⽀贯穿项⽬;其他分支均为承担特定指责的临时分⽀。
分支名及作用
| 分⽀名称 | 作用 | ⽣命周期 | 提交or合并 | 起⽌点 |
|---|---|---|---|---|
| feature分⽀ | 开发某个功能 | 临时分⽀、开发 阶段 | 可提交代码 | 由develop分支产⽣, 最终合并到develop分⽀ |
| develop分⽀ | 记录历史、开发功能 | 贯穿整个 项⽬ | 不能提交,由Feature分 ⽀、Release 分⽀、Hotfix分⽀合并代码 | 整个项目 |
| release分⽀ | 用于本次Release 如文档、测试、 bug修复 | 临时分支、发版 阶段 | 可提交代码 | 由develop分支产⽣, 最终合并到develop 分⽀和master分支 |
| hotfix分⽀ | ⽤于解决线上bug | 临时分 ⽀、紧急 修复阶段 | 可提交代码 | 由master分⽀产⽣, 最终合并到develop 分⽀和master分支 |
| master分⽀ | 记录历史发布版本 | 贯穿整个项目 | 不能提交,由Release、Hotfix分支合并代码 | 整个项⽬ |
实例
命令操作说明:
本文演示的命令是使用 win10 环境下的 WSL2.0(特殊情况会注明);
$符号所在行是演示命令,$符号所在行的下面为输出内容。
初始化项目
创建一个名为 git-demo-workflow-project 的 Git 项目,在该项目内创建一个文件并提交。
$ pwd
$ mkdir git-demo-workflow-project
$ cd git-demo-workflow-project/
$ touch readme.md
$ git init
$ git add .
$ git commit -m "init"
创建 develop 分支
$ git switch -c develop
开发阶段
创建 feature 分支来实现特定功能(实例中用文件 LoginUser.html 代替),完成功能后合并到develop分⽀,并删除 feature分⽀。
$ git checkout -b feature-login develop$ touch LoginUser.html
$ echo "hi, this is user html" > LoginUser.html
$ cat LoginUser.html$ git add .
$ git commit -m "feat: add LoginUser.html"$ git status$ git checkout develop
$ git merge --no-ff feature-login
$ git branch -d feature-login

发布阶段
创建 release 分⽀,修改提交后,合并到 master、develop分支
$(develop) git checkout -b release-v0.1 develop$(release-v0.1) echo "bugifx LoginUser.html" >> LoginUser.html
$ git add .
$ git commit -m "fix: bugfix for LoginUser.html"$ git checkout master$ git merge --no-ff release-v0.1$ git checkout develop
$ git merge --no-ff release-v0.1
$ git branch -d release-v0.1

bug 修复阶段
创建 hotfix 分⽀修复 bug,而后合并到 master、develop分⽀。
$ git checkout -b hotfix-v0.1.1 master
$ git status$ echo "hotfix for LoginUser.html" >> LoginUser.html
$ cat LoginUser.html
$ git add .
$ git commit -m "hotfix: do something for LoginUser.html"$ git checkout master
$ git merge --no-ff hotfix-v0.1.1
$ git tag v0.1.1$ git checkout develop
$ git merge --no-ff hotfix-v0.1.1
$ git branch -d hotfix-v0.1.1

参考:faster-git datawhale
相关文章:
GitFlow工作流
基于 Git 这一版本控制系统,通过定义不同的分支,探索合适的工作流程来完成开发、测试、修改等方面的需求。 例如:在开发阶段,创建 feature 分支,完成需求后,将此分支合并到 develop 分支上;在发…...
GitHub Copilot 与 OpenAI ChatGPT 的区别及应用领域比较
GitHub Copilot 和 OpenAI ChatGPT 都是近年来颇受关注的人工智能项目,它们在不同领域中的应用继续引发热议。本文旨在分析和比较这两个项目的区别,从技术原理、应用场景、能力和限制、输出结果、能力与限制和发展前景等方面进行综合评估,帮助…...
【C++】类和对象(上篇)
文章目录 🛟一、面向过程和面向对象初步认识🛟二、类的引入🛟三、类的定义📝1、类的两种定义方式📝2、成员变量命名规则的建议 🛟四、类的访问限定符及封装🍩1、访问限定符🍩2、封装…...
甜蜜而简洁——深入了解Pytest插件pytest-sugar
在日常的软件开发中,测试是确保代码质量的关键步骤之一。然而,对于测试报告的生成和测试结果的可读性,一直以来都是开发者关注的焦点。Pytest插件 pytest-sugar 以其清晰而美观的输出,为我们提供了一种愉悦的测试体验。本文将深入介绍 pytest-sugar 插件的基本用法和实际案…...
SpringBoot3整合OpenAPI3(Swagger3)
文章目录 一、引入依赖二、使用1. OpenAPIDefinition Info2. Tag3. Operation4. Parameter5. Schema6. ApiResponse swagger2更新到3后,再使用方法上发生了很大的变化,名称也变为OpenAPI3。 官方文档 一、引入依赖 <dependency><groupId>…...
2023美赛各题分析,2024美赛数学建模思路解析2.2日第一时间更新
目录 2024美赛数学建模各题思路模型代码:开赛后第一时间更新,更新见文末 一、2023题目重述 拟解决的问题 我们的工作: 二、模型和计算 1.数据预处理 2.报告数量区间预测模型 3.猜词结果分布预测模型 2024美赛数学建模交流࿰…...
分享一个学习git的网站
Learn Git Branching...
用户拉新的4大关键策略,照着做就对了!
今天给大家分享用户拉新的4个关键策略,掌握了这些策略,不仅有助于增加用户数量,还能让对方成为你忠实的粉丝。 1、制定明确的目标:在开始拉新之前,你需要明确自己的目标。你想要吸引什么样的用户?你希望他…...
如何用“VMware安装Ubuntu”win11系统?
一、 下载Ubuntu 企业开源和 Linux |Ubuntu的 二、 安装 三、 启动虚拟机 选中Try or Install Ubuntu Server,按回车...
ZJOI2009 对称的正方形
P2601 [ZJOI2009] 对称的正方形 题目大意 给定一个 n m n\times m nm的矩阵,求这个矩阵中满足上下对称且左右对称的正方形子矩阵的个数。 1 ≤ n , m ≤ 1000 1\leq n,m\leq 1000 1≤n,m≤1000 题解 首先,我们对原矩阵、左右翻转后的矩阵、上下翻转后…...
大模型学习与实践笔记(十一)
一、使用OpenCompass 对模型进行测评 1.环境安装: git clone https://github.com/open-compass/opencompass cd opencompass pip install -e . 当github超时无法访问时,可以在原命令基础上加上地址: https://mirror.ghproxy.com git clon…...
Elasticsearch+Kibana 学习记录
文章目录 安装Elasticsearch 安装Kibana 安装 Rest风格API操作索引基本概念示例创建索引查看索引删除索引映射配置(不配置好像也行、智能判断)新增数据随机生成ID自定义ID 修改数据删除数据 查询基本查询查询所有(match_all)匹配查…...
Cesium叠加超图二维服务、三维场景模型
前言 Cesium作为开源的库要加超图的服务则需要适配层去桥接超图与Cesium的数据格式。这个工作iClient系列已经做好,相比用过超图二维的道友们可以理解:要用Openlayer加载超图二维,那就用iClient for Openlayer库去加载;同样的要用…...
【低危】OpenSSL 拒绝服务漏洞
漏洞描述 OpenSSL 是广泛使用的开源加密库。 在 OpenSSL 3.0.0 到 3.0.12, 3.1.0 到 3.1.4 和 3.2.0 中 ,使用函数 EVP_PKEY_public_check() 来检查 RSA 公钥的应用程序可能会遇到长时间延迟。如果检查的密钥是从不可信任的来源获取的,这可能会导致拒绝…...
TDL-Tiny Synopsis-TED-ED 网络理论 Network Theory
Tiny Synopsis on TED-ED-Network Theory I) Webpage addressII)Context ExceptionIII) Diagram/Chart Research&Developement I) Webpage address URL Resource II)Context Exception what does “going viral” on Internet really mean? (网络…...
GIS项目实战08:JetBrains IntelliJ IDEA 2022 激活
为什么选择 IntelliJ IDEA 使用编码辅助功能更快地编写高质量代码,这些功能可在您键入时搜索可能的错误并提供改进建议,同时无缝地向您介绍编码、新语言功能等方面的社区最佳实践。 IntelliJ IDEA 了解您的代码,并利用这些知识通过在每种上…...
Linux 命令大全 CentOS常用运维命令
文章目录 1、Linux 目录结构2、解释目录3、命令详解3.1、shutdown命令3.1、文件目录管理命令ls 命令cd 命令pwd 命令tree 命令mkdir 命令touch 命令cat 命令cp 命令more 命令less 命令head 命令mv 命令rm 命令ln 命令tail 命令cut命令 3.2、用户管理useradd/userdel 命令用户的…...
6.3.5编辑视频
6.3.5编辑视频 除了上面的功能外,Camtasia4还能进行简单的视频编辑工作,如媒体的剪辑、连接、画中画等。 下面我们就利用Camtasia4的强大功能来实现一个画中画效果,在具体操作之前,需要准备好两个视频文件,一个作为主…...
同星多通道CAN FD转USB/WIFI设备,解决近距离无线通讯问题
新品发布/New products release 2024年1月,同星智能连续发布FlexRay系列产品TP1034和以太网系列产品TP1051,上周发布多通道总线记录仪产品TLog1004。1月19日,同星智能又推出一款2/4路CAN FD转USB和WIFI的工具,解决近距离无线通讯…...
wamp环境的组成
wamp环境介绍 简介 Wamp 就是 Windows Apache Mysql PHP集成安装环境,即在window下的apache、php和mysql的服务器软件。 w--windows Windows操作系统,是由美国微软公司(Microsoft)研发的操作系统,问世于1985年。起初…...
【根据当天日期输出明天的日期(需对闰年做判定)。】2022-5-15
缘由根据当天日期输出明天的日期(需对闰年做判定)。日期类型结构体如下: struct data{ int year; int month; int day;};-编程语言-CSDN问答 struct mdata{ int year; int month; int day; }mdata; int 天数(int year, int month) {switch (month){case 1: case 3:…...
微软PowerBI考试 PL300-选择 Power BI 模型框架【附练习数据】
微软PowerBI考试 PL300-选择 Power BI 模型框架 20 多年来,Microsoft 持续对企业商业智能 (BI) 进行大量投资。 Azure Analysis Services (AAS) 和 SQL Server Analysis Services (SSAS) 基于无数企业使用的成熟的 BI 数据建模技术。 同样的技术也是 Power BI 数据…...
基于服务器使用 apt 安装、配置 Nginx
🧾 一、查看可安装的 Nginx 版本 首先,你可以运行以下命令查看可用版本: apt-cache madison nginx-core输出示例: nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...
dedecms 织梦自定义表单留言增加ajax验证码功能
增加ajax功能模块,用户不点击提交按钮,只要输入框失去焦点,就会提前提示验证码是否正确。 一,模板上增加验证码 <input name"vdcode"id"vdcode" placeholder"请输入验证码" type"text&quo…...
macOS多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用
文章目录 问题现象问题原因解决办法 问题现象 macOS启动台(Launchpad)多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用。 问题原因 很明显,都是Google家的办公全家桶。这些应用并不是通过独立安装的…...
Java多线程实现之Callable接口深度解析
Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...
Typeerror: cannot read properties of undefined (reading ‘XXX‘)
最近需要在离线机器上运行软件,所以得把软件用docker打包起来,大部分功能都没问题,出了一个奇怪的事情。同样的代码,在本机上用vscode可以运行起来,但是打包之后在docker里出现了问题。使用的是dialog组件,…...
视频行为标注工具BehaviLabel(源码+使用介绍+Windows.Exe版本)
前言: 最近在做行为检测相关的模型,用的是时空图卷积网络(STGCN),但原有kinetic-400数据集数据质量较低,需要进行细粒度的标注,同时粗略搜了下已有开源工具基本都集中于图像分割这块,…...
在QWebEngineView上实现鼠标、触摸等事件捕获的解决方案
这个问题我看其他博主也写了,要么要会员、要么写的乱七八糟。这里我整理一下,把问题说清楚并且给出代码,拿去用就行,照着葫芦画瓢。 问题 在继承QWebEngineView后,重写mousePressEvent或event函数无法捕获鼠标按下事…...
VM虚拟机网络配置(ubuntu24桥接模式):配置静态IP
编辑-虚拟网络编辑器-更改设置 选择桥接模式,然后找到相应的网卡(可以查看自己本机的网络连接) windows连接的网络点击查看属性 编辑虚拟机设置更改网络配置,选择刚才配置的桥接模式 静态ip设置: 我用的ubuntu24桌…...
