Question:
Working with git, after some ‘commit’, and a couple of ‘push’, I realized that am using the wrong branch !
Now I have to remove in some way my changes in wrong_branch
and commit and push the changes in right_branch
What’s the best (and simple) way to do that ?
thank you
Answer:
switch to that branch, check the git log
and git revert
those commits individually. Once you have done that, switch back to the desired branch and there you can then use git cherry-pick
to pick specific commits from the git refs and merge it into the right branch.
1 2 3 4 5 6 7 |
git checkout wrong_branch git revert commitsha1 git revert commitsha2 git checkout right_branch git cherry-pick commitsha1 git cherry-pick commitsha2 |
If the commits are grouped together and there are no commits pushed after your dirty commits, you can even use
git reset
to get that wrong branch to a state just before your commits and then follow that again using git cherry-pick
to get your commits into the right branch.
1 2 3 4 5 6 |
git checkout wrong_branch git reset commitsha3 #commit just before commitsha2 git checkout right_branch git cherry-pick commitsha1 git cherry-pick commitsha2 |