Git 实战分支版本管理策略 | TBD++ Flow
简介
随着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 分支经过代码评审及功能测试后合并到 master 分支,测试人员再从 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 版本管理策略既适合周期较长的团队开发,也适合快速迭代的开发模式,它整合了其他版本管理策略的优点,可以在敏捷开发团队中使用。
敏捷开发团队对团队成员的每一位要求比较高,需要团队成员能够编写自动化测试脚本,也需要团队中的每一位成员都能够独立合并自己的代码。
关注微信公众号【技术管理修行】
程序员职业生涯规划,分享程序员进阶架构师所需全部技能,分享程序员如何转管理做技术总监、CTO,分享程序员如何转行产品经理、项目经理

Git 实战分支版本管理策略 | TBD++ Flow的更多相关文章
- Git之分支创建策略
分支策略:git上始终保持两个分支,master分支与develop分支.master分支主要用于发布时使用,而develop分支主要用于开发使用. 创建master的分支developgit che ...
- Git 分支管理策略
分支管理策略 下面我们来说一下一般企业中开发一个项目的分支策略: 主分支 master 开发分支 develop 功能分支 feature 预发布分支 release bug 分支 fixbug 其 ...
- Git工程开发实践(四)——Git分支管理策略
A successful Git branching model https://nvie.com/posts/a-successful-git-branching-model/ Git工程开发实践( ...
- git版本管理策略及相关技巧(A)
公司几乎所有的项目都是使用 git 仓库来管理代码,以前对 git 只有些肤浅的了解,每次提交代码或者上线的时候总是会提心吊胆,生怕出现一些未知的问题.经过三个月的踩坑和填坑, git 操作颇显成熟. ...
- 梳理git分支管理策略
如果你严肃对待编程,就必定会使用"版本管理系统"(Version Control System). 眼下最流行的"版本管理系统",非Git莫属. 相比同类软件, ...
- git分支管理之分支管理策略
分支管理策略 阅读: 246888 通常,合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息. 如果要强制禁用Fast forward模式,Git就 ...
- git多人协作式开发时分支管理策略
什么是 git-flow? Git Flow是一套使用Git进行源代码管理时的一套行为规范 主分支Master 首先,代码库应该有一个.且仅有一个主分支.所有提供给用户使用的正式版本,都在这个主分支上 ...
- git 分支管理策略 与 物理实现 --author by阮一峰 & 小鱼
-------------------------下面是阮一峰博士的git branch 逻辑结构图示---------------------------------------------- 如果 ...
- Git(五):Git分支管理策略
转:http://www.ruanyifeng.com/blog/2012/07/git.html 如果你严肃对待编程,就必定会使用"版本管理系统"(Version Control ...
- [转]Git分支管理策略
如果你严肃对待编程,就必定会使用"版本管理系统"(Version Control System). 眼下最流行的"版本管理系统",非Git莫属. 相比同类软件, ...
随机推荐
- 美团组件化事件总线方案改进:ModularEventBus
请点赞关注,你的支持对我意义重大. Hi,我是小彭.本文已收录到 GitHub · AndroidFamily 中.这里有 Android 进阶成长知识体系,有志同道合的朋友,关注公众号 [彭旭锐] ...
- 并发编程Bug起源:可见性、有序性和原子性问题
以前古老的DOS操作系统,是单进行的系统.系统每次只能做一件事情,完成了一个任务才能继续下一个任务.每次只能做一件事情,比如在听歌的时候不能打开网页.所有的任务操作都按照串行的方式依次执行. 这类服务 ...
- 03_Linux基础-文件类型-主辅提示符-第1提示符-Linux命令-内外部命令-快捷键-改为英文编码-3个时间-stat-其他基础命令
03_Linux基础-文件类型-主辅提示符-第1提示符-Linux命令-内外部命令-快捷键-改为英文编码-3个时间-stat-{1..100}-du-cd-cp-file-mv-echo-id-she ...
- 第十四章 二进制部署k8s集群的平滑升级
1.软件包下载 去github上下载较新的Kubernetes软件包https://github.com/ 2.升级说明 升级包括master节点升级和node节点的升级,本章升级至v1.15.12: ...
- 三门问题模拟对比试验——附VB6和Python3源程序及EXE文件
三门问题模拟对比试验 [直接跳转到文件下载] 前言 "三门问题"是一个很有意思的概率论问题,涉及贝叶斯公式,是人工智能领域的一个经典问题. 为了直观地研究这个问题,也为了测试一下P ...
- HK32F030MF4P6的Linux GCC工具链和VSCode开发环境
HK32F030MF4P6简介 航顺的 HK32F030MF4P6, TSSOP20封装, Arm Cortex M0 内核, 内建32MHz时钟, 16K Flash, 2K RAM(实际上可用的有 ...
- Python数据科学手册-Pandas:合并数据集
将不同的数据源进行合并 , 类似数据库 join merge . 工具函数 concat / append pd.concat() 简易合并 合并高维数据 默认按行合并. axis=0 ,试试 axi ...
- 使用shell做http web接口,可以传递参数--废弃
此文章废弃,参考另一篇 参考网址: https://me.jinchuang.org/archives/114.html https://www.cnblogs.com/jinchuang/p/142 ...
- EasyExcel实现文件导入
导入 准备工作 见:https://www.cnblogs.com/wywblogs/p/16095576.html 异步导入 接口代码 public Map importMemberList(@Re ...
- 面向对象的照妖镜——UML类图绘制指南
1.前言 感受 在刚接触软件开发工作的时候,每次接到新需求,在分析需求后的第一件事情,就是火急火燎的打开数据库(DBMS),开始进行数据表的创建工作.然而这种方式,总是会让我在编码过程中出现实体类设计 ...