In git v1.8.0+, to delete a tag from a specific remote, you can
git push an empty reference to a remote tag by using the
-d flag (or
# Git v1.8.0+ git push -d <remote-name> refs/tags/<tag-name>
In earlier versions of git, you can achieve the same by prefixing tag name with a colon (
git push <remote-name> :refs/tags/<tag-name>
You may omit the "
refs/" (or even "
refs/tags/") prefix from either command for a shorter syntax. However, it might be a good idea to prefix the tag name with "
tags/" to a very minimum, to avoid accidentally removing a branch having the same name as a tag.
This won't delete the tag from your local. To do that you will have to additionally run the
git tag -d <tag-name> command.
For example, to delete a tag called "
v1.5.0" from the remote "
origin", you would do something like the following:
# Git v1.8.0+ git push -d origin tags/v1.5.0 # Earlier versions git push origin :tags/v1.5.0
This post was published by Daniyal Hamid. Daniyal currently works as the Head of Engineering in Germany and has 20+ years of experience in software engineering, design and marketing. Please show your love and support by sharing this post.