Showing posts from February, 2010

Splitting a git repo

Its been almost an year since I last blogged and what can I say, micro-blogging killed blogging for me. Even micro-blogging has got to a point, I don't do as much as I used to. Perhaps the end of web 2.0 or perhaps I'm getting too old for this :) Anyhow, getting back to the subject of this quick post, it seems splitting a git repo into two separate git repos is somewhat obscure and required a bit of googling around. Fortunately I came across this great blog post , but wanted to summarize it in one place (the author made me look at several pages to put it together). Say I have a git project called foo.repo which had a subdirectory called bar, that I now want to make its own separate git project called bar.repo. Current state foo.repo/ .git/ bar/ abc/ xyz/ target state foo.repo/ .git/ abc/ xyz/ bar.repo/ .git/ Step 1 : Clone existing repo as desired repo on the local clone $ git clone --no-hardlinks foo.repo bar.repo Step 2: Filter-branch and reset to exclud