Git and Subversion
Back in August, I strongly recommended cried out for the average software developer to start using source control software. Today, as I opened up a fresh new project directory, I introspected before I called upon RapidSVN (which an Open Source GUI frontend for Subversion designed for Linux desktops). Why do I use Subversion?
Only because it was recommened to me.
Granted, that recommendation came from a great friend and mentor, and Subversion is really a wondeful client/server application. But… I thought… why keep the status quo for the sake of it? I’d read some press about Git lately, so I decided to give it a fair chance at winning me over. A test of usability.
It passed. With flying colors.
Cunningly enough, Git has a very well thought out introduction coming from the perspective of an SVN background. So useful, in fact, that my new project is now running with Git instead of SVN. And, when I create novel projects in the future? Git.
Subversion is nice. Reliable, which is what you need in source control software. But Git is reliable, easy to use, fast, scalable, and efficient.
I’ve administered Subversion services before. I can now say I’ve administered Git services. Git wins, hands down. From the website: “Following the Unix tradition, Git is a collection of many small tools written in C, and a number of scripts that provide convenient wrappers.” Git is remarkably easy to use. For addition, removal, and movement of files, commits, rollbacks, tagging and branching (which are done quite differently than in Subversion) – all are nearly an order of magnitude easier and more intuitive than Subversion.*
If you’ve come from Subversion, and been pulled into Git, how did it happen, and what was your experience? Have you left Git for Subversion? Why? Maybe you’re using Subversion now – try Git, and share your experiences!
*May the reader note that Subversion was my first experience with source control software, so I have to credit the initial source control learning curve as for part of my complaint. Also, there are a lot of similar processes between Subversion and Git (and all source control), so a lot of my prior knoweldge translated from one to the other.