How can I delete a Git tag that has already been pushed?
git push origin :tagname: You can push an \’empty\’ reference to the remote tag name: .\n\nInstead, more expressively, use the –delete option (or -d if your git version is older than 1.8.0): \”git push — deleti origin tagname\”: .\n\nNote: Note that git has tag namespace and branchnamespace so that you can use the same name for a branch and for the tag. If you want to make sure you don\’t accidentally delete the branch instead of that tag, you should specify full ref, which will never delete any branch: GitHub push origin :refs/tags/tagname.\n\nIf you have to remove the local tag too, use: git tag –delete tagname.\n\nBackground Pushing a branch, tag, or other ref to an remote repository involves specifying \”which repo, what source, which destination?\” git push remote-repo source–ref:destination-def.\n\nFor example, a real world example is: git push origin refs/heads, master:master: master/master; master master branch:\n\nBecause of default paths, paraphrase: What is shortened to: git push origin master:master?\n\nTags work in the same way: git push origin refs/tags/release-1.0:refs,tags and release-2.0:tags.\n\nWhat is also shortened to: git push origin release-1.0:release-2.0?\n\nIf you remove the source ref (the part before the colon) and push \’nothing\’ to the destination, deleting the ref on the remote end.