Given the following git history:
C-I origin/master
/
A-B-F-G-H master
\ /
D-E branch-b
I want to rebase my local master branch on top of origin/master, but I want to preserve the merge commit G. When I tried simply doing a git rebase origin/master while at master it squashed D..E as G and committed that with the commit message of E, so the history that there was a merge was lost. Is there some way of preserving this merge while still getting the rebase? For clarity, my intended result is:
A-B-C-I-F-G-H master
\ /
D-----E branch-b
Add
--preserve-mergesto your rebase command. In case there were conflict resolutions in your merge, add ‘recursive theirs’ strategy as a parameter as well.EDIT:
--preserve-mergesis now deprecated, use--rebase-mergesinstead