I just spent the weekend moving all our svn repos to git. Yes. All of them. There have been plenty of great articles written about why git rocks, but for us it comes down to branches. The ability to painlessly create a branch for a new feature and then merge it easily later is crucial work doing new development on large production systems.
We started off by moving a couple of our open source projects over to github.com. I’ve gotta say, Github is really impressive. Great UI, generous free git hosting, nice pretty graphs… So if we love github so much, why is this an article about setting up your own git server? Because we’re a small company, with lots of projects in our portfolio. The repo to cost ratio on github made it impractical for us to move all our svn repos (which we hosted on our own server) over to github.
I had tried previously to set up my own git server (before finding github), and had gotten bogged down, and after a few hours of poking around the internet decided it wasn’t worth the effort. Then recently a friend of mine showed me me gitosis. Gitosis makes setting up your own git server trivial. Literally 15 minutes later I was up and running with my first git repo on my server. I won’t go into all the details on how to set up gitosos because you can read about it on Garry Dolley’s blog. It took a few more hours to migrate over all our svn repos, but we’re now swimming in the joy that is 100% git usage.
