开发规范一:Git Flow + Gitlab 工作流
2023-06-13 09:13:00 时间
分支说明
main 分支
- 发布分支。
- 包含最新稳定版本,每个版本都是该分支上的一个tag。
- 长期分支。
- 保护分支,非Maintainer成员不能直接提交,只能从其他分支合并。
develop 分支
- 主开发分支。
- 新功能或 bug 修复分支都从这里拉取和提合并请求。
- 长期分支。
- 保护分支,非Maintainer成员不能直接提交,只能从其他分支合并。
- 建议设置为仓库默认分支
feature 分支
- 新功能特性分支。
- 从
develop
分支拉取,开发完毕并自测后需要合并到develop
分支。 - 短期分支。
- 命名:
feature/发布版本-功能名称
。例如:feature/0.2.1-popcode分发
。
bugfix 分支
- bug 修复分支。
- 从
develop
分支拉取,开发完毕并自测后需要合并到develop
分支。 - 短期分支。
- 命名:
bugfix/发布版本-功能名称
。例如:bugfix/0.2.1-登录报错
。
release 分支
- 用于回归测试,联调
- 从
develop
分支拉取,回归测试完后合并到develop
和main
。 - 短期分支。
- 涉及测试发版时,需要建立此分支。
- 命名:
release/发布版本
,例如:release/0.2.1
。 - 如果当前项目是多人并行开发,各个
feature
自测后,合并到develop
,由于解决冲突不当,或者逻辑上和别的需求冲突,就会产生新的缺陷,这种情况就需要在release
回归测试。
hotfix 分支
- 线上紧急 bug 修复的分支。
- 从
main
拉取修复,合并到main
中,并发布紧急修复版。后续需要将此修复合并到develop
分支中。 - 短期分支
- 命名:
hotfix/基于版本
。例如:hotfix/0.2.0
。 - 如果多版本共存,就需要保留
hotfix
分支,后续该版本再出bug,继续在该版本的hotfix
分支上修改,并基于此分支发布修复版。
Feature 开发流程
- 开发人员基于
develop
打feature
分支,并推送到远端 - 在 Gitlab 提合并请求,标题里需要标识
WIP
,例如WIP: Feature/0.1.1 popcode分发
WIP
:Work In Progress,避免此合并请求被合并
- 开发功能,并经常push
- 经常push可以让代码审核者关注进度,以及通过Code Review 提前发现问题。
- 建议经常更新
develop
分支,并合并到当前feature
分支,第一时间解决冲突,避免放到最后冲突一大堆了才去解决,导致误操作覆盖别人的代码。 - 同一分支合并使用
git fetch & git rebase
并解决冲突。不同分支合并使用git fetch & git merge --no-ff
并解决冲突。
- 功能开发完,自测通过,删除合并请求里的
WIP
标识,并通知代码审核者。 - 代码审核者完成Code Review ,成功合并到
develop
- 分支合并需要 PR 中勾选删除源分支。
- 当前版本的需求都合并到
develop
后,进入release
阶段。基于develop
创建该版本的release
分支,进行回归测试。 - 在
release
分支上解决回归测试的bug。 - 发起
release
分支合并到main
的合并请求,并进行Code Review。- 分支合并需要 PR 中勾选删除源分支。
- 成功合并后,由Maintainer在
main
分支上打该版本的tag,然后将release
分支合并到develop
分支 - 完成该版本发布
相关文章
- 一文吃透 VS Code+Git 操作(vs code中git的相关配置与使用)
- 04·灵魂前端工程师养成-git远程仓库GitHub
- 使用 expect 重启失败的 git pull/push 操作
- Git和Github之Github
- 高度定制化 Git 工作流工具,上手简单,功能强大,性能优异
- git多人协作开发冲突解决
- git常用设置
- Git分支管理使用规范
- Git-合并两个不同的仓库
- Git工作中的使用
- git一日速成
- git 报错Git fatal: Unknown index entry format xxxxx的错误解决方法
- git 主干master分支回滚到历史版本
- git实用复习篇之一步到位!
- 使用git命令与vscode从零开始对远程代码仓库进行拉取、提交、合并、推送分支等操作在项目中的实践
- 【Git】Git 分支管理 ( 删除远程分支 | 查看远程分支 git branch -a | 删除远程分支 git push origin --delete feature1 )
- Git 2.40 发布,包括 git jump 工具的更新、cat-file 工具的增强以及提高 Windows 上响应速度
- Git 版本控制工具(学习笔记)详解手机开发
- 学习Linux使用Git进行版本控制(linux使用git命令)
- Linux下快速启动Git使用(linuxgit启动)
- 搭建Linux服务器,实现Git版本控制(git服务器 linux)
- 让Oracle支持Git(oracle中的git)