To sum up if your remote is called origin
and you're working on master
branch:
git tag -d <tagname>
git push origin :refs/tags/<tagname>
git tag <tagname> <commitId>
git push origin <tagname>
You can also exchange line 4 to git push origin --tags
to push all the changes with tags from your local changes.
Basing on @stuart-golodetz, @greg-hewgill, @eedeep, @ben-hocking answers, comments below their answers and NateS comments below my answer.