Magit is an interface to the version control system Git, implemented as an Emacs package. Magit aspires to be a complete Git porcelain.
Ranked in these QuestionsQuestion Ranking
Pro Uninterrupted workflow for common tasks
Simple tasks, such as commits, can quickly be made without leaving the editor.
Pro Easy to remember mnemonics
You can easily learn the mnemonics for the most common tasks and use them to your advantage to speed up your workflow.
Pro Better visualization and interactive workflow
Pro Diffs are easy
Since it's integrated with Emacs, diffs are very easy to fix. You can jump right to any file you want to fix as soon as it comes up in the logs or in the status view.
Pro Multiple buffers are used to show contextual information
Pro Stage hunks or even just parts of a hunk using a single key press
In Magit staging a hunk or even just part of a hunk is very easy.
Magit also implements several other "apply variants" in addition to staging and unstaging. For example: you can also discard or reverse a change, or apply it to the working tree.
Pro Blame information can be viewed inline with the file
Pro Powerful rebasing
Pro Available in Homebrew
brew install magit
Con Useful only for people who use Emacs
Magit is only useful if your text editor of choice is Emacs. It wouldn't really make any sense to open up emacs just to run Magit if you use another editor.