在我们公司,我们正在从 SvN 迁移到 Git(是的,迟到总比没有好)。有了这个,我们还尝试简化版本控制过程。为此,我找到了一篇有趣的文章:Vincent Driessen 的成功 Git 分支模型。
据我从文章中了解到,开发人员假设是线性发布。要清楚:
v1.0.0 --> v1.0.1 --> v1.0.2 --> v1.1.0 --> v1.1.1 etc
未提及对旧版本的支持。例如:我们最多支持三个主要版本,因为有些客户不想升级。所以想象我们有以下版本:
v7.0.0 --> v8.0.0 --> v9.0.0 --> v10.0.0
当在发布v8.0.0
后v9.0.0
发现一个严重的 bug 时,我们 checkout 标记v8.0.0
,修复 bug,并将其合并回develop
和master
分支。合并到master
gets标签v8.0.1
中。
在我看来有点奇怪,因为有两件事:
- 时间线将
master
如下所示v7.0.0 --> v8.0.0 --> v9.0.0 --> v8.0.1 --> v10.0.0
。我完全知道这是可能的,但它也可以接受吗? - 当我从
hotfix
to合并master
(并且在master
那个时刻)v9.0.0
并用v8.0.1
v8.0.0
v9.0.0
提前致谢!