GitFlow:正确测试发布分支和主

yur*_*ura 3 git merge github git-flow

我一直在 git 中寻找一个好的分支模型,发现GitFlow非常适合我们的开发环境。然而,一个悬而未决的问题是如何以及在何处测试我们的版本。

发布分支听起来像是在发布之前运行所有回归测试的地方。然而,发布分支然后被合并到 master 中,被标记,这就是最终用于生产的东西。如果从 release 分支到 master 的合并冲突会发生什么?听起来像 master 需要完全重新测试(这可能很昂贵)。即使没有冲突,简单地将合并推送到生产环境是否安全,或者是否需要运行额外的基本烟雾测试?

yur*_*ura 8

仔细跟踪GitFlow图后,我说服自己,合并到master时绝对不应该有任何冲突(即如果严格遵循流程)。原因,是因为时间线:

  1. Develop 分支是从 Master 创建的
  2. 功能已在 Develop 分支上提交
  3. 发布分支已创建(包括到目前为止来自 Develop 的所有提交)
  4. 在 Release 分支中修复了错误
  5. 准备好后,Release 分支合并到 Master
  6. Master 必须包含来自 Develop + Release 分支的所有提交。不应该发生冲突,因为在创建 Develop 分支之后 Master 上没有做任何事情(这是冲突发生的唯一方式)。此外,此时的代码应该与 Release 分支上的最新提交相同,这意味着不需要额外的测试。

我简化了 GitFlow 图以说服自己:

在此处输入图片说明