Like many experienced devs I have used many different version control systems (CSV, Subversion. Perforce, etc…). Three years ago, after using Subversion for 5+ years, I switched to Git. Initially I didn’t see much difference between Subversion and Git, many people raved about its distributed architecture, bisecting or rebasing, etc… All of these are nice features, but honestly, who uses Git a a truly distributed manner? The other features I have only used a handful of times.
No, the real advantage of Git didn’t sink in until I went back to Subversion. The advantage of Git is, it allows Developers to be reckless. And I mean that in the positive sense, Git allows Developers to try out new ideas/solutions without the “down time” of changing configuration files/paths that you would have to do with Subversion.
In Subversion, if I wanted to try something radical (while keeping my trunk intact – for bug fixing) I would have to create a whole new branch/folder and thus a brand new development install. This barrier slows down development and punishes “gut feeling” or radical/reckless ideas. But with Git, if an idea hit me, I could stash my current changes, branch and be working on the new idea in under 10 seconds.
So be reckless, use Git!