应该在哪个分支中标记测试版?

In which branch should a beta release be tagged?

根据 git-flow 应该在哪个分支中标记 Beta 版本?

我们有一个准备版本 x.0.0 的发布分支,但在发布 x.0.0 之前,我们想发布一个测试版 (x.0.0-beta)。在这种情况下,发布分支应该合并到 master,然后在 master 上标记为 x.0.0-beta,还是应该在 x.0.0 的发布分支上标记此 Beta 版本?

其他问题:发布候选 (x.0.0-rc1) 的程序是否与测试版相同?

我建议您将 x.0.0-beta 标记放在发布分支上,一旦您准备好在某个地方发布 beta 版本。您实际上可能想要更进一步并用 x.0.0-beta0001 标记它,以便您可以根据需要拥有多个 beta 版本。

一旦接近发布,您也可以根据需要使用 x.0.0-rc1 标记发布分支。

然后,一旦您将发布分支合并到 master,并最终返回到 develop,您将使用最终版本号标记 master 分支。

此方法取自 GitVersion 实用程序中 git-flow 的实现,记录在此处:

https://gitversion.net/docs/learn/branching-strategies/gitflow/examples

据我所知,所有版本都应该合并到 master 分支并在其上标记。因为所有发布分支都应遵循此流程。 语义版本控制应防止人们更新到已发布的 alpha/beta/RC 版本。

这可以让您的流程干净利落。 IE。没有分支机构开放以供日后清理。在升级版本号并测试代码后,您总是以相同的方式完成发布分支。

可选

您可以在正式发布后删除特定版本的所有初步标签。这又是为了保持您的流程清洁。因为人们可能不会检查完整和稳定版本的 'unstable' 版本。

1.2.0-alpha
1.1.0
1.1.0-rc2
1.1.0-rc1
1.0.0
1.0.0-beta1
1.0.0-alpha1

会变成

1.2.0-alpha
1.1.0
1.0.0