如何删除一个git远程标签?
你如何删除已被推送的git标签?
您只需将“空”参考推送到远程标记名称即可:
git push origin :tagname
或者,更--delete
,使用--delete
选项(如果您的git版本早于1.8.0,则使用-d
选项):
git push --delete origin tagname
如果您还需要删除本地标签,请使用:
git tag --delete tagname
背景
将分支,标签或其他引用推送到远程存储库涉及指定“推送哪里,什么源,什么目的地?”
git push where-to-push source-ref:destination-ref
将主分支推送到原始主分支的真实世界示例是:
git push origin refs/heads/master:refs/heads/master
由于默认路径,可以缩短为:
git push origin master:master
标签以相同的方式工作:
git push origin refs/tags/release-1.0:refs/tags/release-1.0
这也可以缩写为:
git push origin release-1.0:release-1.0
通过省略源ref(冒号前面的部分),将'nothing'推送到目的地,删除远端的ref。
更直接的方法是
git push --delete origin YOUR_TAG_NAME
在这种情况下,IMO前缀冒号语法有点奇怪
如果你有一个远程标签v0.1.0
来删除,而你的远程是origin
,那么简单地说:
git push origin :refs/tags/v0.1.0
如果您还需要本地删除标签:
git tag -d v0.1.0
请参阅Adam Franco的答案,以解释Git不寻常的:
删除语法。