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.