type
status
date
slug
summary
tags
category
icon
password
Edited
Oct 12, 2023 01:25 PM
Created
Oct 12, 2023 10:17 AM
最近在项目中用到了Git Flow
,期间也遇到了一些问题,所以来对它的使用进行一些总结。
介绍
GitFlow 工作流(GitFlow Workflow) 是一个 Git 工作流程,可帮助持续进行软件开发和实施 DevOps 实践。它最初由 Vincent Driessen 在 nive 上发行并广受欢迎。Gitflow 工作流定义了围绕项目发行版设计的严格分支模型。这为管理较大的项目提供了一个强大的框架。
Git Flow 的工作流程图
分支
- 生产分支(main)
Main分支是仓库的主分支,这个分支包含最近发布到生产环境的代码,最近发布的Release, 这个分支只能从其他分支合并,不能在这个分支直接修改
- 补丁分支(hotfix)
当我们在生产环境发现新的Bug时候,我们需要基于master分支创建一个Hotfix分支,然后在Hotfix分支上修复bug,完成Hotfix后,我们要把hotfix分支合并回Master和Develop分支
- 发布分支(release)
当你需要发布一个新功能的时候,要基于Develop分支创建一个Release分支,在Release分支测试并修复bug,完成release后,把release合并到master和develop分支
- 开发分支(develop)
这个分支是我们的主开发分支,包含所有要发布到下一个Release的代码,这个主要合并与其他分支,比如Feature分支
- 功能分支(feature)
feature分支主要是用来开发一个新的功能,一旦开发完成,我们合并回Develop分支进入下一个Release
流程
- 默认有一个
main
主分支
由于
main
分支是用于发布生产环境,所有必须保证main
上代码的稳定性,所以我们不能直接在main
分支上修改提交- 创建
develop
分支,用于项目开发
- 对于每一个任务(特性),创建不同的
feature/xxx
分支来开发,以此保证develop分支的稳定性
开发完成后,将任务分支合并到
develop
分支即可- 当新功能发布到生产环境,需要创建一个
release/xxx
分支,完成后,将合并到其main
分支和develop
分支,同时也会创建一个tag
标签,标识当前release版本
- 当
main
分支中的代码bug时,需要创建hotfix/xxx
分支来进行紧急修复,完成后,将合并到其main
分支和develop
分支
使用
初始化
feature场景
开发新功能
将本地代码推送到远程分支
新功能开发结束
release 场景
开启新版本
将本地代码推送到远程分支
新版本开发结束
推送tag到远程
hotfix 场景
清除本地分支中远程已经删除的分支
参考链接
- 作者:JinSo
- 链接:https://jinso365.top/article/git-flow
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。