我们有以下分支设置:
- master 和 release/1.0 分支。
- master,标记为 1.0 并生产 1.0.1、1.0.2 版本。
- 从 master 创建的 release/1.0 分支,然后 master 标记为 2.0。
期望两个分支都产生“稳定”版本,因此没有预发布标签。
在这些分支上运行 GitVersion 时,发布分支生成版本 1.0.3,主分支生成版本 2.0.1。到目前为止一切顺利,这是我们所期望的。
现在我们的一位同事从发布分支创建了一个新的功能分支,然后他们将 master 合并到该分支中。然后通过拉取请求将功能分支合并回发布分支。完成拉取请求后,GitVersion 现在在发布分支上提供 2.0.X,而不是 1.0.X。
为了尝试解决这个问题,我们将发布分支标记为 1.0.4。然而,随着每个新提交到发布分支,问题又回来了。这迫使使用手动标记每个提交到发布分支,以提供我们想要的版本号。
我们在主线模式下使用 GitVersion 4.0.0-beta0014。
配置如下:
mode: mainline
assembly-versioning-scheme: MajorMinorPatch
continuous-delivery-fallback-tag: ''
commit-message-incrementing: Disabled
branches:
master:
tag: ''
feature:
regex: features?[/-]
tag: unstable.{BranchName}
release:
tag: ''
is-mainline: true
bugfix:
regex: bugfix[/-]
tag: unstable.{BranchName}
ignore:
sha: []
有人知道如何摆脱这种情况吗?
卢博斯