Originally Written: 2013-09-26
I made a mistake today. I made changes while in the [master]
branch instead of [develop]
, committed those
changes and then pushed to the repo.
A relatively easy fix
# Ensure you're in the branch that you commited to by accident.
git checkout master
# Reset the branch back one commit.
git reset --soft HEAD^
# Stash the changes
git stash
# Checkout the branch it should be in
git checkout develop
# Apply the stash
git stash apply
# Commit the changes just as you did before, you will need to rewrite the message.
git commit ...
# Push the changes to our develop branch
git push origin develop
# Checkout the original branch
git checkout master
# Force push the commit deletion to the original branch.
git push --force origin master