When comparing Magit vs Sublimerge, the Slant community recommends Sublimerge for most people. In the question“What are the best merge applications for Git?” Sublimerge is ranked 12th while Magit is ranked 14th.
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 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 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 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 Multiple buffers are used to show contextual information
Pro Blame information can be viewed inline with the file
Pro Better visualization and interactive workflow
Pro Powerful rebasing
Pro Available in Homebrew
brew install magit
Pro Three-way diff allows easy merging of files
Pro Highlights intraline changes
Pro Built-in support for Git, Subversion and Mercurial commands
Sublimerge automatically integrates with your version control history, and lets you compare between revisions, branches, remotes, and the staging area.
Pro Can compare to clipboard contents
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.
Con It's NOT Open Source
You can't fix or, implement nothing. And when the developer abandons the project you will be left in the lurch.
Con It's not free
Nither as free price nor as free in freedom.
Con Cannot compare text within the same file
Sublimerge can only compare entire file diffs, but not two selections within a file. Comparing within files can be useful for example, by refactoring two similar functions to use a shared function. With Sublimerge, you need to copy the sections into two new temporary tabs and compare between the two. This can be cumbersome, as if you have another untitled file, you won't be able to know which one is which.