什么可以使 gitversion 在同一分支上计算不同的版本(本地与构建代理回购)

What could make gitversion compute a different version on the same branch (local vs build agent repos)

我有一个提交并同步到 TFS 2015 的分支。

当 运行 在构建代理上构建时,执行的 gitversion 命令计算出不同的版本。

本地我根据标签 3.10.0.202

得到 3.11.0

在构建代理上我得到 0.1.0

我觉得这个变化可能与克隆在构建代理上的完成方式有关。任何人都可以建议这是否可能以及可能有什么区别?

N.B.

我可以通过为 b运行ch 和 运行 gitversion 命令的历史记录创建标签来重现您的场景:

然后我提交并将此 b运行ch 推送到 TFS 2015,在构建代理机器上,我 运行 gitversion 命令:

为了找出它们不同的原因,我登录到TFS构建代理机器并拉取b运行ch,我发现b运行ch上没有标签。那是因为在 Visual Studio 中使用同步或推送不会推送标签。

虽然 GitVersion Docs 提到,如果标记了提交,那么 GitVersion 将始终在任何计算版本上使用该版本。如果您重建标签,那么将生成相同的版本。

总之,VS 不会推送标签导致这种差异。要推送标签,您必须使用命令 git push --tags.