网站首页 > 技术文章 正文
简介
随着Git的普及,为了更高效地进行团队协作开发,人们通过经验总结研究出了几套适用于各种团队和项目的分支管理策略,上篇文章我们讲解了 Git Flow 代码版本管理策略,它对版本控制较为严格,主要适合开发团队规模较大、开发周期较长,可达几周至几个月的项目,同时,文章提供了版本管理方案图及必要的讲解。
接下来将介绍Git 分支管理策略:TBD++ Flow,该版本管理策略整合了其他策略的优点,适合敏捷开发团队,开发周期长、快速迭代均适用。先看一下工作流图。
TBD++ Flow 工作流图
TBD++ Flow 工作流说明
总体规范建议:
统一以版本号命名,各分支以版本号对应,比如,feature/v1.0 、release/v1.0、tag/v1.0、hotfix/v1.0
1. 主分支 Master
稳定版本代码分支,不能在此分支直接修改代码, 只接受 hotfix、release 分支的代码合并,每次从 release/hotfix 分支合并必须打版本号 tag,以方便后续的代码追溯。该分支上部署自动化测试脚本,在每次代码提交至该分支后都会触发测试,以此保证主分支核心功能的稳定。
2.新功能分支 Feature
新功能迭代开发分支,开发人员在此分支进行编码及代码评审->测试人员进行功能测试->开发人员修复bug->从 master 分支拉取最新代码 ->将测试通过后的代码合并到 master。feature 分支需要定期向 master 分支拉取最新代码。
3.发布分支 Release
feature 分支经过代码评审及功能测试后合并到 develop 分支,测试人员再从 master 分支拉取对应的 release 分支。测试部进行集成测试、开发部修改 bug、产品验收。产品验收通过后(发布上线前)基于 release 分支打 tag 进行版本发布,再将代码合并回 master分支,如果代码较为关键,还需要合并到其他的 release 分支。最后可将 feature 迭代分支删除。
4.热修复分支 HotFix
该分支分为两种情况:
1)如果是在 master 分支发现的bug,则该分支基于 master 创建,bug 修复完成并测试通过后需要合并回 master 分支。
2)如果是在 release 分支发现的bug,则该分支基于 release 发布时的 tag 版本创建,bug 修复完成并测试通过后需要合并回 master 分支、所有涉及的 release 分支以及 master 分支。最后在 release 分支上添加新的 tag。
总结
以上是敏捷项目团队中所推荐的 Git 版本管理策略,我们可以看到上述策略比前文的 Git Flow 简单了许多,少了一个主要的 develop 分支,只需要维护 master 一个主干分支,现代的开发模式中,为更快更好地满足客户的需求,往往采用敏捷迭代的开发方式,TBD++Flow 版本管理策略即适合周期较长的团队开发,也适合快速迭代的方式,它整合了其他版本管理策略的优点,推荐在敏捷开发团队中使用。
敏捷开发团队对团队成员的每一位要求比较高,需要团队成员能够编写自动化测试脚本,也需要团队中的每一位成员都能够独立合并自己的代码。
- 上一篇: 从业务场景到高级技巧的 Git 完整指南
- 下一篇: 变基 git rebase(变基大师)
猜你喜欢
- 2024-10-27 git 入门教程之紧急修复(git checkout . 恢复)
- 2024-10-27 项目版本管理的最佳实践:飞流Flow篇
- 2024-10-27 DevOps(4)之分支模型(ps4如何构建画布)
- 2024-10-27 Git 在团队中的最佳实践——如何正确使用Git Flow
- 2024-10-27 鹅厂程序员干货分享 | 四种工作流,教你如何使用 GitHub
- 2024-10-27 Linux下git和github搭建使用教程(linux搭建git仓库)
- 2024-10-27 git这个小技巧非常实用,值得每个程序员学习
- 2024-10-27 Git实战002:Git快速入门使用详解(git简单教程)
- 2024-10-27 git 多人在同一分支上迭代开发时,如何保证分支提交历史保持线性
- 2024-10-27 Git基础知识(七)--分支开发工作流
- 02-21走进git时代, 你该怎么玩?_gits
- 02-21GitHub是什么?它可不仅仅是云中的Git版本控制器
- 02-21Git常用操作总结_git基本用法
- 02-21为什么互联网巨头使用Git而放弃SVN?(含核心命令与原理)
- 02-21Git 高级用法,喜欢就拿去用_git基本用法
- 02-21Git常用命令和Git团队使用规范指南
- 02-21总结几个常用的Git命令的使用方法
- 02-21Git工作原理和常用指令_git原理详解
- 最近发表
- 标签列表
-
- cmd/c (57)
- c++中::是什么意思 (57)
- sqlset (59)
- ps可以打开pdf格式吗 (58)
- phprequire_once (61)
- localstorage.removeitem (74)
- routermode (59)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- log.warn (60)
- cannotinstantiatethetype (62)
- js数组插入 (83)
- resttemplateokhttp (59)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- reader.onload (61)
- outofmemoryerror是什么意思 (64)
- flask文件上传 (63)
- eacces (67)
- 查看mysql是否启动 (70)
- java是值传递还是引用传递 (58)
- 无效的列索引 (74)