From: Martin Krüger Date: Tue, 11 Jan 2011 11:49:43 GMT Subject: Re: Merge two different repositories (v2.4 + v2.5) into the one (v2.4 -> v2.5). Possible? Message-ID: <20110111114943.40890@gmx.net> In-Reply-To: <746745466.20110111134101@mail.ru> > > Now I'd like to merge them as v2.5 was a continuos branch from v2.4, > but without a rebasing (i.e. without a global changing of v2.5 > repository, which already has another branches) > It must look like LAST commit of v2.4 should be a PARENT of FIRST commit > of v2.5 > > Now there's a question: Is it possible to do so (no rebasing!), and If > "yes" then how to? > > It's possible with a little arts an crafts. You have 2 friends: git format-patch & git am . With "git format-patch" you will see what a branch really is: a serie of patches. With "git am" you can apply these patches to a branch created on the correct point of the commit-history . E voila the branch is recreated in the repository. In your case: On the 2.5 repository master branch: git format-patch INITIAL_COMMITID On the 2.4 repository master branch: git branch 2.5 git checkout 2.4 git reset --hard INITIAL_COMMITID cat *.patch | git am E voila you habe both branches in a single repository. Nearly same procedure for every branch of the 2.5 repository git checkout branchname git format-patch master In the 2.4(Contains now both branches.) respository: git checkout 2.5 git branch branchname git reset --hard CORRECT_BRANCHBASE cat *.patch | git am Best regards martin