Using Git
I have switched from Subversion to Git a few months ago as the version control system for all my private projects and some of my public projects and I’ve not looked back.
The setup can not be simpler (git init in the project directory) and gitweb is easy to setup to browse the repository and its history.
Git is simple to use, simple to learn (with good in-depth and user documentation) and fast.
When I am learning new languages or frameworks, I tend to use an exploratory mode made of trials and errors. I found that the workflow of Git (simple branch creations and merges, stashes, reset) corresponds better to this approach than Subversion (which works best with an upfront design).
One of its great features compared to Subversion is that it distinguishes between the author and the committer.
In Subversion, when an user submits a patch and I apply it, I’m both the committer and the author (I mention the user in the commit message and/or the header’s files but as far as Subversion is concerned, the user does not exist).
In Git, when I apply the patch, I’m only the committer, the user is the author of the commit and will remain so in the history, in git blame, etc. (as an example, here is a commit where I am the committer and Clay McClure is the author).
This feature is very important for open source projects where your reputation comes from the code you write, even if it is only through patches.
The only area where Git is lacking behind Subversion is the tools. However I don’t mind using a shell and Vim for most of the simple and frequent tasks. For advanced ones, gitk and Textmate are good enough for my needs.
I continue to use Subversion for my professional work but for my personal projects, Git is now my main choice (the only exception being Eclipse projects but as soon as there is a Git plug-in which is good enough, I’ll switch too).
Comments closed

Comments
Hi,
In case you’re not aware there’s a Git plugin for Eclipse here:
http://git.or.cz/gitwiki/EclipsePlugin
I have just used it briefly, but it seems like it’s useful enough to install even if it won’t replace the command-line yet (at least for those who prefer GUIs, I am sure that some will always prefer the command-line for certain operations no matter how good the GUI alternative is).
There’s also a work in progress proposal to submit it as an Eclipse.org project:
http://wiki.eclipse.org/EGit/Proposal
Ismael
Hi,
In case you’re not aware, there’s an Eclipse plugin for Git called EGit. There’s a draft proposal to make it into an Eclipse.org project too:
wiki.eclipse.org/EGit/Proposal
I have used it only briefly and it seemed to work ok. I expect that it will still be a bit rough in many areas though.
Hi Ismael,
When I checked EGit a few months ago, it was quite rough (no update site, limited integration, few features). But following your comment, I’ve seen they’ve added an update site: http://www.jgit.org/update-site/ so it’s time to look at it once again to see if it has improved.
jeff