gitversion:跳过找到的第一个标签

时间:2018-10-19 07:44:01

标签: gitversion

我们有以下分支设置:

  • master和release / 1.0分支。
  • master,标记为1.0,并产生1.0.1、1.0.2版本。
  • 从master创建
  • release / 1.0分支,然后master标记为2.0。

期望两个分支都生成“稳定”版本,因此没有预发行标签。

在这些分支上运行GitVersion时,release分支生成版本1.0.3,而master分支生成版本2.0.1。到目前为止,这是我们所期望的。

现在,我们的一位同事从发布分支创建了一个新的功能分支,然后他们将母版合并到此后。然后,通过拉取请求将功能分支合并回发布分支。完成拉取请求后,GitVersion现在在发行分支上提供2.0.X,而不是1.0.X。

要尝试解决此问题,我们用1.0.4标记了发行分支。但是,每将新的提交提交到发行分支,问题就会再次出现。这会强制使用手动将每次提交标记到release分支中,从而为我们提供所需的版本号。

我们在主线模式下使用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: []

有人知道如何摆脱困境吗?

1 个答案:

答案 0 :(得分:0)

我认为您正在寻找“防止合并分支增量选项”-这里有一些文档:

https://gitversion.readthedocs.io/en/latest/configuration/#prevent-increment-of-merged-branch-version

基本上,您只需在gitversion.yml中将其设置为true,如下所示:

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: []
prevent-increment-of-merged-branch-version: true