在Atlassian SourceTree中,如何知道哪些标签只是本地标签,哪些标签也是远程标签?
创建标签时,您可以选择"将标签推送到:...",但如何在创建标签后知道标签是否已被推送?我可以在本地看到我的所有标签,但我需要确保它们存在于远程中,以便其他开发人员可以将它们拉出来。
答案 0 :(得分:111)
您可以使用ls-remote
列出远程存储库中的标记,然后检查它是否存在。假设远程引用名称为origin
,如下所示。
git ls-remote --tags origin
您可以使用tag
列出本地标记。
git tag
您可以手动或在脚本中比较结果。
答案 1 :(得分:72)
即使没有克隆或抓取,您也可以使用git ls-remote
检查上游仓库中的代码列表:
git ls-remote --tags /url/to/upstream/repo
(如" When listing git-ls-remote why there's “^{}
” after the tag name?")
请注意,您始终可以使用(git 1.8.3 +,2013年4月)在一个命令中推送您的提交和标记:
git push --follow-tags
请参阅Push git commits & tags simultaneously。
关于Atlassian SourceTree:
请注意,从this thread开始,SourceTree仅显示本地标记。
自2015年12月起,SRCTREEWIN-4015
登录了一份RFE(增强请求)。
一个简单的解决方法:
查看仅有未删除标签的列表?
git push --tags
或查看"
Push all tags
" " Push"对话框中,所有标签都将被推送到您的遥控器。
通过这种方式,您将确保它们存在于远程中,以便其他开发人员可以将它们拉出来。"