1

我一直在考虑使用 git flow,但围绕修补程序的原始设计似乎有一个漏洞。

假设您已经发布了多个版本 - 您的 master 有 0.1、0.2、0.3、1.0、1.1、2.0 等的标签。您在 0.2 中发现了一个错误,并希望在 0.2.1 版本中进行修复。发布标签在哪里?它不能进入​​master,因为那是2.0版。它只是在修补程序分支上吗?然后可以使用该分支以类似的方式创建 0.3.1 和 1.1.1 版本,使用 1.1.1 修补程序分支上的标签,并合并到待处理的版本分支中吗?

4

1 回答 1

1

即使原始的 gitflow 从未“升级”过支持分支,您也会遇到另一个问题。原始的 git-flow 不允许您从支持分支开始创建修补程序。

首先,我假设您在 xyz 中使用Semantic Versioning 2.0.0

按照我的看法回答您的问题:您使用支持分支进行发布,现在的问题当然是您将保留和创建多少个支持分支。就个人而言,如果您支持旧版本,我会为 xy 版本保留分支。

标签将继续在支持分支上。

如果需要在整个版本中一直实施修补程序,有两种方法可以做到这一点:

  • 像你建议的那样摘樱桃。
  • 创建补丁并将补丁用于其他版本。

如果修补程序只是一个提交,我想你可以做一个 Cherry Pick,如果它更多,我会去创建补丁git format-patch并将git am它们添加到其他分支。

现在再次能够从支持分支创建修补程序/错误修复/发布分支​​,您需要使用gitflow AVH 版(免责声明:我开发了 gitflow AVH 版)

于 2016-04-13T18:28:50.650 回答