小编Reg*_*ggi的帖子

如何使用gitversion修复bug后自动增加补丁版本

概括

我正在建立一个新项目,并想使用 GitVersion 来计算我的应用程序的当前版本。我需要的是使用 MAJOR.MINOR.PATCH 进行语义版本控制,其中 MAJOR 和 MINOR 随着发布分支名称的增加而增加,而 PATCH 在每个错误修复或修补程序合并时都会增加。

目前我正在尝试将 GitFlow 实施到我的分支策略中,但我会向您解释我正在做的事情。

  1. 所有开发都在开发分支上完成(创建一个feature/*分支并合并回开发分支)。
  2. 当我想创建一个版本时,我从开发创建一个releases/[version]分支
  3. 当我在发行版中发现错误时,我会创建一个bugfix/*分支,并在完成后将其合并回release/[version]
  4. 当没有发现更多错误时,releases/[version]将合并到 master 中并用正确的版本标记。

问题出在步骤 3 中。例如,当我使用releases/0.1.0时,GitVersion 在bugfix/*合并后不会增加 PATCH 版本。它只是停留在 0.1.0 而不是想要的 0.1.1。它确实增加了提交计数!

迄今为止采取的步骤

目前我正在使用以下 gitversion.yml 文件(请参阅下一个标题)。其中包括一个应该增加补丁的修补程序分支。由于某种原因,在我创建bugfix/*分支后,当您在 bugfix 分支上运行 GitVersion 时,它不会增加 PATCH,所以我认为我在这里遗漏了一些东西。

唯一有效的方法是在bugfix/*分支的最后一次提交上设置一个标签到新版本(0.1.1-test)。但由于 GitVersion 在 bugfix 分支上计算版本 0.1.0,我无法自动升级 PATCH 并在提交上添加所需的 0.1.1-test 标签。

我还认为,当您合并回发布分支时,GitVersion 会增加版本。但即使我将增量设置为“补丁”,这种情况也不会发生。所以在这里,我也想我错过了一些东西,或者我只是想要 GitVersion 不适合的东西。

gitversion.yml

assembly-versioning-scheme: MajorMinorPatch
mode: ContinuousDeployment
branches:
  develop: …
Run Code Online (Sandbox Code Playgroud)

versioning git git-flow gitversion

5
推荐指数
1
解决办法
3193
查看次数

标签 统计

git ×1

git-flow ×1

gitversion ×1

versioning ×1