如何从远程代码库中删除一个标签?

93

能否使用Git取消已经推送到上游的修订版本的标记?

发生了以下情况:

 git tag 1.1
 git push --tags origin master

糟糕!那应该是1.1beta版本。

你能否将代码库变基并向上游推送?我的团队中没有其他成员从源头拉取过更新。


3
可能是如何删除远程 Git 标签?的重复问题。 - BuZZ-dEE
3个回答

131

您可以按照删除远程分支的方式删除远程标签。

git push origin :1.1

使用以下命令删除本地标签:

git tag -d 1.1

1
我执行了以下命令:git tag -d 1.1 && git push origin :1.1,这解决了问题。非常感谢。 - serby
1
因为请记住,分支就是标签,只是它会随着属于它的最新提交移动其HEAD。在内部,它们完全相同。 - Dan Ray
3
轻量级标签就像一个分支,而带注释的标签则是一个实际的对象,类似于提交(commit),它有一个指向它的参考点。 - Abizern
从git版本2.7.4开始,如果我尝试在远程删除后本地删除标签,我会收到错误消息:找不到标签“0.0.60”。我想它会自动删除。 - Shadi
1
如果您需要删除非常多的标签,我想出了两种方法,可以快几个数量级。最快的方法是在git push中包含多个:tag参数。第二种方法是使用Github API直接删除远程引用(标签)。 (https://dev59.com/rW035IYBdhLWcg3wVuh1#43421561) - TonyH

26
git push --delete origin TAGNAME
当然,您仍然需要通过运行以下命令本地删除标签:
git tag -d TAGNAME

0

简单来说,当你在本地代码库路径下(使用命令行、代码编辑器或集成开发环境)时,你可以执行以下命令。

git push origin :your_tag_name_to_be_deleted

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接