0

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

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

在本地,我根据标签 3.10.0.202 得到 3.11.0

本地仓库提供 3.11.0

在构建代理上,我得到 0.1.0

构建服务器 repo 提供 3.11.0

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

注意

  • 构建代理只是目前在我的机器上运行的 TFS 2015 构建代理。
  • 在没有 fetch 的情况下运行命令会得到相同的结果
  • 这是标签标签
  • 错误的版本号在构建服务器上(通过 TFS 构建),但我也使用命令行复制了它。我只发布了后者,因为它给出了结果。当我下次能够登录服务器时,我可以发布 TFS 构建输出的示例。第二个示例 (D:) 中的 repo 是使用 TFS 构建克隆的,而第一个 (C:) 是使用 VS 2015 克隆的。
4

1 回答 1

4

我可以通过为分支历史创建标签并运行 gitversion 命令来重现您的场景: 在此处输入图像描述

然后我提交并将这个分支推送到 TFS 2015,在构建代理机器上,我运行了 gitversion 命令: 在此处输入图像描述

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

虽然 GitVersion Docs 提到,如果提交被标记,那么 GitVersion 将始终使用该版本而不是任何计算版本。因此,如果您重建标签,则会生成相同的版本。

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

于 2015-11-30T09:21:44.960 回答