28 May 2009
Git Making The Switch
I am using git for all new projects. For the active ones that are still on subversion I’m using git-svn. It is true– git-svn is a gateway drug. While git provides a number of advantages over subversion, there are a number of hurdles to overcome if you decide to switch.
One of the toughest areas, is getting comfortable with the command line. Most of the subversion users I know rarely, if ever, use the
svn command line utility. The simply stick with a nice GUI client. When learning git I would argue that you need to learn the command line. If you don’t understand what is going on under the covers, you can really end up in a ditch. The documentation is pretty good, but unless you are a command line junkie, it will take some time to move your version control mindset over.
And make sure you keep your install current. There has been lots of good stuff added in recent days.
It Takes Thought
The power of git comes at the price of understanding. Version control becomes more than a simple “right-click and commit every once in a while” endeavor. Git allows you to craft your commits so your repository is clean and tells a story of how your app developed. Using rebase you can rewrite, combine, remove and edit commits. It crazy and dangerous and comes with significant responsibility, but the price is worth it. Check this out.
The biggest hurdle for me was gaining confidence that I could be productive and wasn’t going to destroy my applications inadvertently. The resources available are getting better and better and better. However, confidence only comes with experience. It doesn’t matter how many books you read on dating, at some point, you have to walk up to that personal and ask them out. Confidence requires action. Luckily, git won’t throw a drink in your face or laugh at you.
If you’re on a steady diet of svn, compare and give git a try. You know you want to.