From: Leonid Podolny Date: Tue, 21 Dec 2010 13:40:43 GMT Subject: Rebasing multiple branches Message-ID: <4D10AE5B.2080700@gmail.com> Hi, I need to rebase a rather complicated formation of branches. My situation is like this (I hope ASCII graphics survive the sending): B--o--o--o--o--o--o <--branch A / \ o--o--A--o--E <--master C--o--o--o--D <--branch C \ / C--o--o--o--o--o--o <--branch B I would like to rebase all three branches A, B and C onto commit E, and it's very important to keep the information about merges. For instance, if I take commit C and rebase it onto D, it serializes all the intermediate commits. The only solution I managed to come up with is as follows: - Take branch A and rebase it onto D (branch A'). - Same with branch B. - Open a new branch C' from commit E. - Merge A' and B' into C'. - Manually cherry-pick all commits from commit C to commit D into branch C'. The last step is way too ugly to be the only possible solution :)