If you're an emacs user, I can't recommend magit [1] enough. I was a diehard CLI user and had flags and aliases out the wazoo, and it was still a step change in usabilty and power for me. Staging hunks, rebasing, and stashing are all vastly easier. Amending or editing a commit is a breeze, and it's tied in to all of the other emacs tools you already use, e.g. org-mode to boot!

It's easier to see it in action than explain it. If you've two minutes to spare, check out this emacsrocks screencast [2], or Howard Abram's longer presentation from the PDX Emacs Hackers meetup [3].

[1]: https://magit.vc/

[2]: https://www.youtube.com/watch?v=rzQEIRRJ2T0

[3]: https://www.youtube.com/watch?v=vQO7F2Q9DwA

Seeing a former coworker use Magit in Emacs is what got me to look into the Vim version: https://github.com/jreybert/vimagit

From what I gather it's nowhere near as feature-complete, but it lets me create commits with immense ease and precision.

> Seeing a former coworker use Magit in Emacs is what got me to look into the Vim version

What you should have done is use magit and looked into the emacs version of vim: https://github.com/emacs-evil/evil