Let's say I have a git repository that looks like this:
merge-base---A1--A2------A3------A4 (branchA)
\
----------B1------B2 (branchB)
To make things simpler, let's say the commits on branchA are strictly modifications to fileA, and the commits on branchB are strictly modifications to fileB.
I want to combine these branches into a third branch, branchAB, where the commits will be ordered by date:
merge-base---A1--A2------A3------A4 (branchA)
\
----------B1------B2 (branchB)
\
A1--A2--B1--A3--B2--A4 (branchAB)
Is there a way to automatically do this with a single git command, or am I stuck with manual methods (e.g. cherry picking or rebase -i)?
BTW, merge-base
is a tag.
Here's a solution that does what I want, based on adymitruk's original answer:
This should do it:
The rebase will "eat" the merge commit as --preserve-merges was not specified.
hope this helps