I like SourceTree and it’s free. I don’t use it all the time, but if I’ve made a bunch of changes debugging something and I want to easily discard all of the debugging-only changes, the UI makes it really easy to commit or discard individual lines from the changeset.
Additionally, I set up an alias to open it from the command line (stree) and have it show whatever git directory I opened it from.
My experience is the opposite. A colleague who uses SourceTree and git console (for use cases not covered by SourceTree) asked me a few times to fix his branches when something went wrong (after using git console). I easily fixed it using SmartGit (paid software).