Last day, I faced a case where I had to backport a bug in a software which was released by a git tag.
As far I know, there is no easy way to simply push a patch before a tag, so here is how I proceeded:
# Checkout the upstream git checkout master git fetch --all git pull
# List the tags git tag 1.0.0 1.1.0
Let’s say we want to add a commit before 1.0.0:
# Create a branch from the tag git checkout -b backport_1.0.0 1.0.0 # Apply your backport touch fix git add fix git commit -m "Fix a bug" git push -u origin backport_1.0.0
Recreate the tag:
git checkout master # Delete the tag git tag -d 1.0.0 git push origin :refs/tags/1.0.0 # Create the tag from the branch git tag -a 1.0.0 backport_1.0.0 git push --tags origin master
That’s it! If you checkout the new tag, you should see your “fix” patchset as the last patch before the tag 1.0.0.