How to patch production code:
# Grab the current production code
git checkout -b name <tag|sha>
# Update your code with the commit that will fix your problem.
git cherry-pick <sha>
# Show difference. This is a review step.
git diff <tag>..
# Run your tests...
# Create a new annotated tag
git tag -a <tag name>
# Push the new tag up so you can deploy it
git push --tags

Comments
Capistrano step
Note: If you use capistrano and use the copy_cache functionality, you should clear your cache before doing a deploy.
For some reason the tags don’t show up properly if you don’t clear the cache.