But every time I see something this I have to ask myself again why I'm just not using CVS (or SVN, i.e. a simpler tool).
But every time I see something this I have to ask myself again why I'm just not using CVS (or SVN, i.e. a simpler tool).
Unless you are working across multiple groups with developers in different time zones and a choppy set of releases you'll see almost no benefit from git.
However, if you are in that situation the benefits are large and immediate.
Plus, you don't have to migrate your codebase to another SCM tool if the project unexpectedly grows into a larger one.
The biggest benefit I get is that I can work on a set of changes as a set rather than a linear sequence that only ever goes forwards in time. I use microcommits. As I make progress on a feature, I discover necessary refactoring that I would ideally have been done before I started to add the feature. Interactive rebase allows me to make this so, and the result is that when I am done I can review my own work and check it for correctness with much more confidence than otherwise.
When working in open source, you're expected to provide a patch series for easy review. Git lets me produce such a thing with the same workflow.
Developers who don't wish to work this way, or are unaware of the benefits that this can bring, use git linearly and will see no benefit over Subversion.