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

使用GitVersion构建发布Azure Pipeline时的版本冲突解决方案咨询

GitVersion 分支版本同步问题解决方案

核心配置思路

你的版本策略需要让develop分支始终对齐main的基线版本,通过自定义GitVersion.yml配置文件即可实现预期的版本迭代逻辑,无需依赖Octopus Deploy脚本(Octopus相关脚本仅用于版本号传递部署,不负责版本计算规则)。

具体配置步骤

1. 配置GitVersion.yml文件

在仓库根目录创建该文件,写入以下规则:

mode: Mainline
branches:
  main:
    mode: ContinuousDeployment
    tag: ''
    increment: Major
    prevent-increment-of-merged-branch-version: true
    track-merge-target: true
  develop:
    mode: ContinuousDeployment
    tag: alpha
    increment: Minor
    prevent-increment-of-merged-branch-version: true
    track-merge-target: true
    source-branches: ['main']
ignore:
  sha: []
next-version: 0.1.0

2. 关键规则说明

  • mode: Mainline:采用主线模式,确保develop版本始终基于main的基线计算,避免分支版本独立增长。
  • main分支规则:
    • increment: Major:当develop合并到main时,自动升级主版本号(如0.1.0→1.0.0)。
    • track-merge-target: true:跟踪合并来源的版本记录,确保main版本能正确继承develop的迭代进度。
  • develop分支规则:
    • increment: Minor:PR合并到develop时,自动升级次版本号并追加alpha标签(如1.0.0→1.1.0-alpha.1,多次提交则生成1.1.0-alpha.2)。
    • source-branches: ['main']:指定develop的上游基线为main,确保版本始终对齐main的最新发布版本。

3. 验证版本迭代流程

  • 初始状态:main和develop版本均为0.1.0。
  • PR合并到develop:版本升级为0.2.0-alpha.1,多次提交则递增alpha后缀。
  • 合并develop到main:main版本升级为1.0.0,develop自动对齐1.0.0基线,后续PR生成1.1.0-alpha.x。
  • 再次合并develop到main:main版本升级为2.0.0,develop基线同步为2.0.0,后续迭代生成2.1.0-alpha.x。

4. 修复当前版本脱节问题

若现有仓库已出现main与develop版本独立增长的情况:

  1. 在main分支打基线标签:git tag 1.0.0(替换为你期望的基线版本号)。
  2. 切换到develop分支,合并main:git merge main。
  3. 重新运行GitVersion,develop将基于main的标签版本计算后续迭代版本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 06:07:48