5

在我们公司,我们正在从 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,并将其合并回developmaster分支。合并到mastergets标签v8.0.1中。

在我看来有点奇怪,因为有两件事:

  1. 时间线将master如下所示v7.0.0 --> v8.0.0 --> v9.0.0 --> v8.0.1 --> v10.0.0。我完全知道这是可能的,但它也可以接受吗?
  2. 当我从hotfixto合并master(并且在master那个时刻)v9.0.0并用v8.0.1v8.0.0v9.0.0

提前致谢!

4

1 回答 1

4

对我来说,标签v8.0.1应该是合并之前的提交master。如果您想修补新版本,那么您也可以合并其他标签。

v8.0.0 --> v9.0.0 --> v10.0.0
   \          \           \
  v8.0.1 --> v9.0.1 --> v10.0.1/master
于 2013-01-07T10:47:37.223 回答