Gitversion 在 AzureDevops 构建管道中回滚了我的 NuGet 包的版本号

Gitversion rolled back the version number for my NuGet packages in AzureDevops build pipeline

问题:
直到两天前,由 GitVersion 生成的版本工作正常,但现在突然从 1.421 滚动到 1.407。

我的环境:

Azure 开发运营:

多个版本的 Azure DevOps 构建管道,构建 10 多个 NuGet 包,这些包使用 Git版本 MsBuild 任务配置主线模式。

对于我的构建管道版本,我有以下结构: 一个 Microsoft 托管代理版本和一个自托管代理版本。

对于每个版本,我都有以下管道:
- 恢复、构建、打包、单元测试和发布符号以及 NuGet 提要。
- 恢复、构建、打包、发布
- 恢复、构建、单元测试


Git版本 5.3.0
我已将其设置为将每次新提交的次要编号递增到我的主分支中。同样值得一提的是,我没有使用任何其他来源来计算版本,因为这对我来说是最舒适的方法,并且到目前为止效果很好。

Git版本yml配置:

next-version: 1.1
mode: Mainline
branches: 
  feature:
    tag: alpha
    increment: Inherit
  master:
   increment: Minor
   tag: ''
ignore:
  sha: []
merge-message-formats: {}

我尝试做的事情:
- 通过阅读日志,我注意到 Git 版本输出此消息:"Skipping fetching, if GitVersion does not calculate your version as expected you might need to allow fetching or use dynamic repositories.",因此我使用了动态存储库,但生成了相同的结果。:(

我不知道我还应该做些什么来调试它。我在想 Git 版本缓存有问题吗?


提前致谢。

I don't know what else I should do to debug this.. I'm thinking is a problem with the GitVersion cache?

1.If 你照片中的 #1.421 和后面的 #1.407both master 分支:

我认为您最近在 git 存储库中可能有 git reset --hard 或其他操作导致了此行为:

2.If 你图片中的 #1.421 和后面的 #1.407 不是同一个分支,这是预期的行为,因为每个分支的版本号不同。(masterfeature 有不同的规则)

管道的版本是next-version: 1.1+一个分支的有效提交数(总提交数-在git重置期间删除的提交数)。所以你需要检查:

1.if你最近修改了GitVersion yml中的版本

2.if 你最近做了git重置--硬动作

3.if两个版本来自两个不同的分支,feature分支和master分支有不同的提交历史和不同的提交次数。所以看到不同版本是预期的行为。

我找到了问题的根源。我在我的项目中工作并在从 master 提取最新更改之前提交了更改。接下来,在拉取更改后,我观察到我的提交在历史记录中被放置为 6 或 7 次提交。