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分支:
- 开启
track-merge-target: true,让合并到master时触发配置的Patch增量; - 设置
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
相关产品推荐
相关产品推荐

