When I switched my primary version control from SubVersion to GIT (actually, I switched to HG first but later moved to GIT when it seemed that is where most people I know went) I learned it using just the shell prompt (typing git status, etc.). It gets really tricky really quickly and I would find myself spending lots of time looking at logs trying to figure out what to do.
My friend Ward Bell mentioned he had found a tool that he thought stood out above the rest called SmartGit/HG from syntevo . Ward, never having steered me wrong before (well, maybe once, but let’s not talk about that) gave me inspiration to try the tool. I did, I love it, and for the past year or so it has just gotten better and better with every release.
Let me give you an example of the kind of thing I love about it. I just create a new repository and did a few commits to the master branch. Now, I want to create my own dev branch so I can continue to work and let others be stable. So, I’m looking at my branch screen and this is what I see:
What’s really awesome is not only can I checkout from the top of my repository, but it is visually showing me my previous revisions and is going to let me just checkout a branch from any of those. This means, it’s trivial to go back a version, make some changes, then go back on my development branch.
This is just awesome (and the tip of the iceberg of features)