【发布时间】:2011-06-09 14:15:15
【问题描述】:
有谁知道从本地推送标签后如何检查标签是否在git远程?
似乎唯一的方法就是获取遥控器。
【问题讨论】:
标签: git
有谁知道从本地推送标签后如何检查标签是否在git远程?
似乎唯一的方法就是获取遥控器。
【问题讨论】:
标签: git
试试
git ls-remote --tags origin
【讨论】:
--exit-code 传递给 ls-remote,例如git ls-remote --exit-code --tags origin v1.2.3.
要更准确地回答这个问题,要检查 特定标签 是否在 给定远程 中,请使用:
git ls-remote <remote-name> refs/tags/<tag-name>
【讨论】:
--exit-code 选项:git ls-remote --exit-code <remote-name> refs/tags/<tag-name> 如果标记为,它将返回退出代码 0在遥控器中,如果 Git 能够连接到遥控器但标签不存在,则退出代码为 2,如果无法连接到遥控器,则可能退出代码为 1。然后您可以检查退出代码并根据结果执行您的逻辑。
对于像我这样的懒人,我以前是这样搜索的:
关于远程标签:
git ls-remote --tags origin | grep TAG_NAME
关于本地标签。
git tag -l | grep TAG_NAME
【讨论】:
另一种方式,(来自“git: check if commit xyz in remote repo?”)
git branch -r --contains my_tag
# ==== or with a sha1: =====
git branch -r --contains 2e29022d
这将列出包含标记或提交的远程分支。
输出将如下所示:
origin/my_branch_1
origin/my_other_branch
origin/master
【讨论】: