GitVersion是否支持主线模式但带有开发分支?

GitVersion是否支持主线模式但带有开发分支?,gitversion,Gitversion,我们使用主线模式,这样我们就不必将每个合并标记到主节点。但我们使用“开发”分支(来源于“主”分支)和“功能”分支(来源于“开发”) 然而,我们的“功能”分支似乎是基于“主”分支而不是“开发”分支来计算版本的。是否有一个简单的修复方法可以使“功能”分支将其版本建立在“开发”分支的基础上,从而使其版本重新生效,从而使其能够工作到下一个次要版本 我们自动将从“开发”构建的预发布部署到我们的开发和质量保证环境中。 我们自动将从“master”构建的稳定版本部署到登台环境(然后手动触发它们部署到生产环境)

我们使用主线模式,这样我们就不必将每个合并标记到主节点。但我们使用“开发”分支(来源于“主”分支)和“功能”分支(来源于“开发”)

然而,我们的“功能”分支似乎是基于“主”分支而不是“开发”分支来计算版本的。是否有一个简单的修复方法可以使“功能”分支将其版本建立在“开发”分支的基础上,从而使其版本重新生效,从而使其能够工作到下一个次要版本

我们自动将从“开发”构建的预发布部署到我们的开发和质量保证环境中。 我们自动将从“master”构建的稳定版本部署到登台环境(然后手动触发它们部署到生产环境)

GitVersion是否支持以下场景:

  • 将develop合并到master会生成一个不带标签的稳定版本(0.1.0
  • 将功能分支合并到develop中,生成我们正在开发的下一个次要版本的预发行版(0.2.0-alpha0002)
  • 功能分支是从develop分支出来的,我们正在开发下一个次要版本(0.2.0-jira-123-0004)

我们想要这个:

  • 主控(0.1.0
    • 开发(0.2.0-alpha0002)
      • 功能(0.2.0-jira-1234-0004)

但是我们得到的是:

  • 主控(0.1.0
    • 开发(0.2.0-alpha0002)
      • 特征(0.1.1-jira-1234-0004)
一个星期以来我一直在为这件事绞尽脑汁。我读过文档,甚至下载了源代码

我尝试了几种模式的组合,包括
模式、is主线模式、源分支模式等,但总是会出现版本冲突

mode: MainLine
branches:
  develop:
    is-mainline: true
    is-source-branch-for: ['feature']
  feature:
    increment: Minor
    source-branches: ['develop']
ignore:
  sha: []

看来让GitVersion预测开发和功能分支的下一个稳定版本的唯一方法是使用ContinuousDeployment模式并在master上标记提交。

这解决了我的问题:

mode: Mainline
branches:
  feature:
    regex: ^feature?[/-]
    increment: Minor
  hotfix:
    tag: 'hotfix-{BranchName}'
ignore:
  sha: []
merge-message-formats: {}
mode: Mainline
branches:
  feature:
    regex: ^feature?[/-]
    increment: Minor
  hotfix:
    tag: 'hotfix-{BranchName}'
ignore:
  sha: []
merge-message-formats: {}