I’ve been using version control for a long time. I’ve posted on the SVN mailing list and given talks advocating Git. Nowadays it seems the conversion to Git is widespread. It’s being used in corporate settings, but there’s a caveat – it’s still being treated as a centralized system. While folks have made the leap from traditional systems like SVN, they haven’t made the real leap to distributed version control. This has lead me to realize the subtle genius of github.com – they quietly direct you to use distributed workflows and make it as straightforward as possible.
Rebasing in subversion is a topic that has become more popular with the rise of distributed version control systems. While there is some understanding of rebasing in the centralized version control community, I want to illustrate what a rebase is from the git perspective and discuss some of the advantages in hopes that svn users will walk away knowing more and perhaps even consider distributed version control more strongly.
Like many projects these days, there’s no need to build completely from scratch. Off-the-shelf Open Source applications like WordPress, have changed the landscape. Another situation we encountered with a client once was a code generation platform for PHP. These are fundamentally different things but the way they are managed via version control workflow are the same if you intend to make modifications to them.
Getting started with gitosis
So you’ve evaluated the SaaS landscape the Web has to offer and decided to go it alone and host public repositories behind your corporate firewall. You’ve also decided you want to build the service using free components from the Open Source community if possible. Enter gitosis.