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

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

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

相关文章

一文了解SSL证书价格

SSL证书的价格因供应商、证书类型和服务级别而异。以下是一些一般性的价格范围: 1. 免费证书:一些证书颁发机构(CA)提供免费的SSL证书,最著名的是JoySSL。这种证书通常适用于个人网站和小型业务。免费证书提供了基本的…

GEE:最小距离分类器(minimumDistance)分类教程(样本制作、特征添加、训练、精度、最优参数、统计面积)

作者:CSDN @ _养乐多_ 本文将介绍在Google Earth Engine (GEE)平台上进行最小距离分类(minimumDistance)的方法和代码,其中包括制作样本点教程(本地、在线和本地在线混合制作样本点,合并样本点等),加入特征变量(各种指数、纹理特征、时间序列特征、物候特征等),运行…

SMT贴片加工检测设备都有哪些

SMT贴片加工的工艺流程复杂繁琐,每个环节都需小心谨慎否则就会出现不良板,为确保产品质量合格,一般贴片加工厂都会使用各种检测设备对故障缺陷进行检测。那么在SMT贴片加工厂中最常见的检测设备都有哪些呢?它们的功能又是什么呢&a…

照片修复-GPEN框架

一 照片修复-GPEN介绍: gpen是一个优秀的照片修复框架,关键是开源的,它是基于GAN先验嵌入网络的野外盲脸复原,特别是针对人脸修复效果特别好,先看一下官方的效果图: 修复效果图前后对比: 二 安装GPEN 1 下…

uni-app小程序:文件下载打开文件方法苹果安卓都适用

api: const filetype e.substr(e.lastIndexOf(.)1)//获取文件地址的类型 console.log(文档,filetype) uni.downloadFile({url: e,//e是图片地址success(res) {console.log(res)if (res.statusCode 200) {console.log(下载成功,);var filePath encodeURI(res.tempFilePath);…

爬虫-selenium自动化(3)-验证码

#验证码分很多种,奇葩也无处不在:哪个是真茅台,红绿灯,摩托车......(我是个人都看不出来) (๑﹏๑) #本节内容为selenium自动化实现验证码通过-------字符验证码,点触验证码。 验证码介绍 字符验证码案例 点触验证码案例

手把手教你开发Python桌面应用-PyQt6图书管理系统-登录功能UI设计实现

锋哥原创的PyQt6图书管理系统视频教程: PyQt6图书管理系统视频教程 Python桌面开发 Python入门级项目实战 (无废话版) 火爆连载更新中~_哔哩哔哩_bilibiliPyQt6图书管理系统视频教程 Python桌面开发 Python入门级项目实战 (无废话版) 火爆连载更新中~共计18条视频&…

请你来了解一下Mysql-InnoDB中事务的两段式提交

欢迎订阅专栏,了解更多Mysql的硬核知识点,原创不易,求打赏 ACID:事务的四个特性 A:原子性 原子性表示把一个事务中所有的操作视为一个整体,要么全部成功,要么全部失败,是事务模型区…

电脑文件丢失怎么恢复?这4个方法不可错过!

“我保存在电脑上的文件莫名其妙就丢失了,有什么比较好的方法可以恢复吗?希望大家给我出出主意!” 在使用电脑时,很多用户会将重要的文件直接保存在电脑中,这会更方便人们工作。但在使用电脑时,不可避免有时…

Win10升级Win11后卡顿了?

目录 关闭动画效果 任务栏居中改为居左 调整外观和性能 其他 当你看到最后,还知道哪些升级WIN11后必做的优化呢?欢迎在评论区分享出来!❤️ win11上市目前也有一段时间了,想必很多大家都已经进行更新了。新的系统确实更加简洁…

Oracle篇—分区表和分区索引的介绍和分类(第一篇,总共五篇)

☘️博主介绍☘️: ✨又是一天没白过,我是奈斯,DBA一名✨ ✌✌️擅长Oracle、MySQL、SQLserver、Linux,也在积极的扩展IT方向的其他知识面✌✌️ ❣️❣️❣️大佬们都喜欢静静的看文章,并且也会默默的点赞收藏加关注❣…