【发布时间】:2019-11-04 13:45:45
【问题描述】:
我正在尝试从其他分支获取最后一个标签。 我有两个分支“开发”和“发布”。
所以我使用这段代码来获取最后一个标签:
#from release branch
git describe develop
在我的桌面上显示版本
V1.0.0.13-CC
我的 git 版本是:
git version 2.17.1
好的。所以我的问题是下一个: 我正在使用 Azure devops 和一个带有内联 powershell 的管道来执行此操作:
$tagversion = $(git describe develop)
Write-Host 'Version Git: ' $tagversion
此消息显示错误:
##[error]fatal: Not a valid object name develop
Te 存储库与 2 个分支相同,但我不知道是什么问题。 天蓝色的 git 版本是 git 版本 2.18.0.windows.1
有人可以帮助我吗? 有没有其他方法可以做到这一点?
非常感谢。
【问题讨论】:
-
错误信息暗示目标仓库没有
develop分支。你确定你的目标是正确的回购吗?顺便说一句:您不需要在git调用周围使用$(...),并且通常应该避免使用Write-Host,除非您的意图是打印到屏幕。因此:$tagversion = git describe develop; "Version Git: $tagversion" -
通常,CI 系统在处理源代码方面会尝试提高效率。如果为
release分支触发构建,它将是在构建代理上的本地克隆中检出的唯一本地分支。也就是说,命令git describe some-other-branch不会找到该分支名称。如果您尝试将其更改为git describe origin/develop而不仅仅是develop怎么办? -
是的!两个都是对的。 Azure devops 不知道开发分支,但起源/开发运行正常。非常感谢。
-
@Yan Sklyarenko 因为您的解决方案有效。您可以发表您的评论作为答案。因此,它可能会帮助遇到此问题的其他人。
-
@LeviLu-MSFT 感谢您的提示,完成!
标签: git powershell azure-devops