You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GitVersion配置异常:合并分支仅Patch递增,Minor未按预期更新

解决GitVersion分支合并版本递增不符合预期的问题

针对合并feature/release分支到master时版本递增异常的问题,核心是原配置中分支的跟踪规则和发布分支标识未正确设置,导致Mainline模式下无法识别分支对应的增量规则。以下是调整后的完整配置及关键改动说明:

调整后的GitVersion.yml配置

assembly-versioning-scheme: MajorMinorPatch
assembly-file-versioning-scheme: MajorMinorPatch
assembly-informational-format: '{InformationalVersion}'
mode: Mainline
increment: Inherit
continuous-delivery-fallback-tag: ci
tag-prefix: '\[vV\]'
major-version-bump-message: '+semver:\\s?(breaking|major)'
minor-version-bump-message: '+semver:\\s?(feature|minor)'
patch-version-bump-message: '+semver:\\s?(fix|patch)'
no-bump-message: '+semver:\\s?(none|skip)'
legacy-semver-padding: 4
build-metadata-padding: 4
commits-since-version-source-padding: 4
tag-pre-release-weight: 60000
commit-message-incrementing: Enabled
branches:
  feature:
    regex: ^features?\[/-\]
    mode: ContinuousDeployment
    tag: useBranchName
    increment: Minor
    prevent-increment-of-merged-branch-version: false
    track-merge-target: true  # 关键修改:开启跟踪合并目标分支
    source-branches: ["master"]  # 明确feature分支基于master创建
    tracks-release-branches: true
    is-release-branch: false
    is-mainline: false
    pre-release-weight: 0
  release:
    regex: ^releases?\[/-\]
    mode: ContinuousDeployment
    tag: beta
    increment: Patch
    prevent-increment-of-merged-branch-version: false
    track-merge-target: true  # 关键修改:开启跟踪合并目标分支
    source-branches: ["master"]  # 明确release分支基于master创建
    tracks-release-branches: true
    is-release-branch: true  # 关键修改:标记为发布分支
    is-mainline: false
    pre-release-weight: 0
ignore:
  sha: \[\]
merge-message-formats: {}
update-build-number: true

关键改动说明

  • feature分支:
    开启track-merge-target: true,确保合并到master时,GitVersion会应用feature分支配置的Minor增量规则,而非沿用master的默认Patch递增逻辑;同时指定source-branches: ["master"],明确分支来源,避免规则识别混淆。

  • release分支:

    1. 开启track-merge-target: true,让合并到master时触发配置的Patch增量;
    2. 设置is-release-branch: true,在Mainline模式下,标记为发布分支的release分支合并后,会正确触发Patch版本递增,而非继承master的默认规则。

调整后,合并feature分支到master时版本会从1.0.0递增至1.1.0,合并release分支到master时会从1.1.0递增至1.1.1,完全匹配你的需求。

内容的提问来源于stack exchange,提问作者Sathish Kumar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 13:15:19