如何删除远程标签?

你如何删除已被推送的Git标签?


#1楼

如果要删除远程标记v0.1.0 ,并且远程是origin ,那么只需:

git push origin :refs/tags/v0.1.0

如果您还需要在本地删除标记:

git tag -d v0.1.0

请参阅Adam Franco对Git不寻常的解释的解释:删除语法。


#2楼

更简单的方法是

git push --delete origin YOUR_TAG_NAME

在这种情况下,IMO前缀冒号语法有点奇怪


#3楼

其他答案指出了如何实现这一点,但你应该记住后果,因为这是一个远程存储库。

On Retagging部分中的git tag手册页有一个很好的解释,说明如何礼貌地通知远程repo的其他用户有关更改。 他们甚至提供了一个方便的公告模板,用于沟通其他人应该如何获得更改。


#4楼

删除所有本地标记并获取远程标记列表

git tag -l | xargs git tag -d
git fetch

删除所有远程标签

git tag -l | xargs -n 1 git push --delete origin

清理本地标签

git tag -l | xargs git tag -d

#5楼

要从远程存储库中删除标记:

git push --delete origin TAGNAME

您可能还想在本地删除标记:

git tag -d TAGNAME

#6楼

如果您在Git存储库中创建了一个名为release01的标记,则可以通过执行以下操作将其从存储库中删除:

git tag -d release01 
git push origin :refs/tags/release01 

要从Mercurial存储库中删除一个:

hg tag --remove featurefoo

请参考https://confluence.atlassian.com/pages/viewpage.action?pageId=282175551


#7楼

请注意,如果您有一个名为远程标记的远程分支,则这些命令是不明确的:

git push origin :tagname
git push --delete origin tagname

因此,您必须使用此命令删除标记:

git push origin :refs/tags/<tag>

这一个删除分支:

git push origin :refs/heads/<branch>

如果没有,你会得到这样的错误:

error: dst refspec <tagname> matches more than one.
error: failed to push some refs to '<repo>'

#8楼

从您的终端,执行以下操作:

git fetch
git tags
git tag -d {tag-name}
git push origin :refs/tags/{tag-name}

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值