Factor Language Blog

First impressions of git

Friday, September 28, 2007

So far, I like git a lot. My favorite feature is branches, and the goodies that come with that, such as git fetch, which pulls patches from a remote repository into a branch. I like using git add to flag files to commit more than the darcs “cherry picking”, which is tedious and error-prone. I also like it how git status shows me any files which have not been added yet.

The gitk GUI, while not great, is a nice way to get an overview of what’s going on with the repository.

Of course the best thing about git is the speed. The Linux Kernel developers use git, and they have a huge codebase with many developers. I’m confident that I’ve made the right choice by switching to git.

One thing I don’t like about git is the complexity – there are hundreds of commands and it certainly seems like the user interface could be simplified, for the common operations anyway. I’m slightly worried that the increased learning curve might be a hindrance to getting contributors in the future. However, having to wait 10 minutes to darcs push is a turn-off to contributing in itself.