Tower really helped me when I first started using git. Eventually I would move to the terminal, but still use Twoer for when I messed up or tried to do something more advanced.
I wish there was something just like it for Linux, all the ones I've found to try always have some strange UI, or something that just doesn't work quite 'right' in my mind.
I do a mix of cli and GUI for git interactions (since I do a limited number currently). Sourcetree has proven to be pretty decent on both windows and osx for me. One aspect I like about the windows version is that it uses Putty (specifically Pagent) which acts much like ssh-agent does on *nix system. Much nicer answer to key management compared to other Git UIs for windows that use OpenSSH.
I will give SourceTree a try, it looks interesting.