当前位置: 首页 > news >正文

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.lryc.cn/news/285476.html

相关文章:

  • GitHub Copilot 与 OpenAI ChatGPT 的区别及应用领域比较
  • 【C++】类和对象(上篇)
  • 甜蜜而简洁——深入了解Pytest插件pytest-sugar
  • SpringBoot3整合OpenAPI3(Swagger3)
  • 2023美赛各题分析,2024美赛数学建模思路解析2.2日第一时间更新
  • 分享一个学习git的网站
  • 用户拉新的4大关键策略,照着做就对了!
  • 如何用“VMware安装Ubuntu”win11系统?
  • ZJOI2009 对称的正方形
  • 大模型学习与实践笔记(十一)
  • Elasticsearch+Kibana 学习记录
  • Cesium叠加超图二维服务、三维场景模型
  • 【低危】OpenSSL 拒绝服务漏洞
  • TDL-Tiny Synopsis-TED-ED 网络理论 Network Theory
  • GIS项目实战08:JetBrains IntelliJ IDEA 2022 激活
  • Linux 命令大全 CentOS常用运维命令
  • 6.3.5编辑视频
  • 同星多通道CAN FD转USB/WIFI设备,解决近距离无线通讯问题
  • wamp环境的组成
  • Idea 开发环境不断切换git代码分支导致冲掉别人代码
  • GO 中如何防止 goroutine 泄露
  • Linux练习题
  • storm统计服务开启zookeeper、kafka 、Storm(sasl认证)
  • YOLOv8加入AIFI模块,附带项目源码链接
  • 【设计模式】代理模式的实现方式与使用场景
  • 医学图像的图像处理、分割、分类和定位-1
  • 【51单片机】外部中断
  • fastapi框架
  • 2023 年顶级前端工具
  • html 会跳舞的时间动画特效