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:
git checkout -b branchAB merge-base
git merge branchA
git merge branchB
git rebase --onto merge-base merge-base branchAB
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With