There are other ways to do that, too. For example, Git stash is my blind spot and I don't really use it.
A conceptually simple way (for me) is to: checkout "good" branch, cherry-pick the "wrong" commit, then checkout the "bad" branch and remove the "wrong" commit ("git reset --hard HEAD^").
Mixing and matching simple commands mechanistically means everything can in fact be remembered.
A conceptually simple way (for me) is to: checkout "good" branch, cherry-pick the "wrong" commit, then checkout the "bad" branch and remove the "wrong" commit ("git reset --hard HEAD^").
Mixing and matching simple commands mechanistically means everything can in fact be remembered.
YMMV.