When comparing Magit vs P4Merge, the Slant community recommends P4Merge for most people. In the question“What are the best merge applications for Git?” P4Merge is ranked 4th while Magit is ranked 14th. The most important reason people chose P4Merge is:
P4Merge is free of charge.
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
P4Merge is free of charge.
Pro 3 way merge support
P4Merge presents merge information in 4 panes - BASE, LOCAL, REMOTE and MERGE_RESULT.
Pro Cross-platform with a good Mac port
P4Merge works on Windows, Linux and OS X.
Pro Also has image diffing
For those who are working in both text based source code or files, as well as images, its nice to have the diff functionality of both present in the same product.
Pro Detects minimal changes without having a common ancestor
After a merge sometimes you have conflicts. You can resolve them by using a merge tool. You can run
git mergetool --tool-help to get more details about what tools are supported.
You will get an output like the following
git mergetool --tool=<tool> may be set to one of the following:
p4merge tortoisemerge vimdiff vimdiff2 vimdiff3
The following tools are valid, but not currently available:
araxis bc bc3 codecompare deltawalker diffmerge diffuse ecmerge emerge gvimdiff gvimdiff2 gvimdiff3 kdiff3 meld opendiff tkdiff winmerge xxdiff
Some of the tools listed above only work in a windowed environment. If run in a terminal-only session, they will fail.
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 Directory comparison is not supported
With P4Merge it's impossible to compare two different directories to find differences.