Commandline with the occasional usage of [tig](<a href="https://github.com/jonas/tig" rel="nofollow">https://github.com/jonas/tig</a>)<p>Once every few weeks I'll use [Tower](<a href="http://www.git-tower.com/" rel="nofollow">http://www.git-tower.com/</a>) for quickly looking up old commits
Command line+SourceTree, depending on what task I'm trying to accomplish. Staging, diffs, and commit messages are much more easily done in SourceTree, and most other operations from the command line.
Command line unless cherry picking or some other godawfully complex rare mental backflip is required, in which case SourceTree (for which I was a paid customer before it was bought by Atlassian, and responsible for the feature request leading to some of the generic hook functionality which I feel makes it very powerful for certain complex use cases)
Command line most of the time, with occasional use of the Git Extensions GUI client for diffs, and for committing specific hunks at a time (<a href="https://github.com/gitextensions/gitextensions" rel="nofollow">https://github.com/gitextensions/gitextensions</a>)