The best I've ever seen is Tower (mac/windows), it makes most of the tedious steps and brain-cycles described in the authors' list very easy to manage.
I like using a mixture of Tower Beta (for the interactive rebase and visual commit staging edits), command line (faster!) and GitUp (for understanding repo history). I’ve been experimenting with using hub and go-jira command line tools for GitHub and JIRA respectively.