Azure Pipelines 签出的本地克隆和存储库之间的 GitVersion 差异

Discrepancy in GitVersion between local clone and repo checked out by Azure Pipelines

我在仓库中有一个分支,当 运行 本地在一个新的克隆 returns 一个版本 (1.5.0-netcore1) , 但是当 运行 在同一分支上的 Azure 管道上使用 GitVersion 时 returns 另一个 版本 (1.4.1-netcore1). (只有次版本和补丁版本在 gitversion 的整个输出中不同)。

我确实设置了一个本地代理,所以我的存储库位于我计算机上的本地文件夹中,正如 Azure Pipelines 所检查的那样,当我 运行 gitversion 时,差异是相同的文件夹,而不是我使用 git clone.

克隆的文件夹

运行ning git taggit branch 在两个文件夹上的结果是一样的,列出了所有的分支和标签。

> git tag
1.3.0
1.4.0
> git branch
  archive/1.0
  archive/1.1
  archive/1.2
  develop
* feature/netcore
  gh-pages
  master

同一存储库的这两个克隆之间可能有什么不同,我该怎么做才能使 GitVersion 表现相同?

供参考,有问题的存储库是 https://github.com/alphaleonis/AlphaVSS/tree/feature/netcore

我针对您的存储库测试了 git 版本。我可以重现同样的差异。

差异已通过 git checkout master branch 为您使用 git clone 克隆的本地文件夹修复。 我发现 git clone 您的存储库没有自动检出 master 到本地文件夹。必须使用 Azure 管道完成 manually.However 克隆,并且 visual studio 将默认检出 master。

似乎gitversion使用master分支的一些元数据来计算版本。