Since I can never remember by heart the list of commands needed to rename a git tag on Github, I wrote a small shell script to automatically run theses commands.
If we look up on Google, we can see that if we want to rename the v1.0.11 tag to 1.0.11, we would do the following :
git tag 1.0.11 v1.0.11 git push --tags git tag -d v1.0.11 git push origin :refs/tags/v1.0.11
Here is the simple shell script to rename and push git tags :
#!/bin/bash if [ -z "$1" ] || [ -z "$2" ] || [ "$1" == "-h" ]; then echo "$(basename "$0") SOURCE_TAG DEST_TAG -- rename and push a git tag" exit 1 fi if [ -d .git ]; then # copy the old tag to the new tag git tag $2 $1 # push the new tag to the remote server git push --tags # delete the source tag git tag -d $1 # delete the old tag from the remote server git push origin :refs/tags/$1 else echo "You must be in a git directory" exit 1 fi;
After installing the script globally (ln -s mvtag.sh /usr/local/sbin/mvtag), you just have to run mvtag old_tag_name new_tag_name to rename a tag.
Hope that helps!