我有一个提交并同步到 TFS 2015 的分支。
在构建代理上运行构建时,执行的 gitversion 命令会计算不同的版本。
在本地,我根据标签 3.10.0.202 得到 3.11.0
在构建代理上,我得到 0.1.0
我觉得这种变化可能与如何在构建代理上完成克隆有关。任何人都可以建议这是否可能以及可能有什么区别?
注意
我有一个提交并同步到 TFS 2015 的分支。
在构建代理上运行构建时,执行的 gitversion 命令会计算不同的版本。
在本地,我根据标签 3.10.0.202 得到 3.11.0
在构建代理上,我得到 0.1.0
我觉得这种变化可能与如何在构建代理上完成克隆有关。任何人都可以建议这是否可能以及可能有什么区别?
注意
我可以通过为分支历史创建标签并运行 gitversion 命令来重现您的场景:
然后我提交并将这个分支推送到 TFS 2015,在构建代理机器上,我运行了 gitversion 命令:
为了找出它们不同的原因,我登录到 TFS 构建代理机器并拉动分支,发现分支上没有标签。这是因为在 Visual Studio 中使用同步或推送不会推送标签。
虽然 GitVersion Docs 提到,如果提交被标记,那么 GitVersion 将始终使用该版本而不是任何计算版本。因此,如果您重建标签,则会生成相同的版本。
总之,VS不会推送标签导致这种差异。要推送标签,您必须使用 command git push --tags
。