I have the following situation:
I made some commits to my local repository, and then a huge merge of another branch (~150 commits) into the master. It had a lot of conflicts in it.
Now, I want to move a commit I made before the merge to be after it before pushing.
Normally, I would use rebase -i for it.
Unfortunately, the default behavior is to break the one-merge-commit I did that actually added 150 more commits to master into separate commits (I understand it's like if I were to use rebase instead of merge to begin with)—which is bad behavior for me for several reasons.
I was very happy to discover the -p flag for rebase, which preserves merges.
Unfortunately, this actually applied the same merge again and forgot all about my hard work in conflict resolving. Again—bad behavior!
Is there a solution for what I want? Using rebase -i after merge to re-order or edit specific commits without having to repeat my post-merge operations?
Thanks!