O IntelliJ IDEA da JetBrains (e IDEs relacionados como o WebStorm) incluem uma ferramenta diff / merge que é simplesmente incrível . Veja como usá-lo com o Git:
Mac
Abra ~./.gitconfig
e adicione:
[merge]
tool = intellij
[mergetool "intellij"]
cmd = /Applications/IntelliJ IDEA.app/Contents/MacOS/idea merge $(cd $(dirname "$LOCAL") && pwd)/$(basename "$LOCAL") $(cd $(dirname "$REMOTE") && pwd)/$(basename "$REMOTE") $(cd $(dirname "$BASE") && pwd)/$(basename "$BASE") $(cd $(dirname "$MERGED") && pwd)/$(basename "$MERGED")
trustExitCode = true
[diff]
tool = intellij
[difftool "intellij"]
cmd = /Applications/IntelliJ IDEA.app/Contents/MacOS/idea diff $(cd $(dirname "$LOCAL") && pwd)/$(basename "$LOCAL") $(cd $(dirname "$REMOTE") && pwd)/$(basename "$REMOTE")
</code></pre>
Windows
Open c:Users<username>.gitconfig and add:
[merge]
tool = intellij
[mergetool "intellij"]
cmd = cmd.exe //c ""C:/Program Files (x86)/IntelliJ IDEA Community Edition 12.0/bin/idea.bat"" merge ""$LOCAL"" ""$REMOTE"" ""$BASE"" ""$MERGED""""
trustExitCode = true
[diff]
tool = intellij
[difftool ""intellij""]
cmd = cmd.exe //c """"C:/Program Files (x86)/IntelliJ IDEA Community Edition 12.0/bin/idea.bat"" diff ""$LOCAL"" ""$REMOTE""""
</code></pre>
Be sure to adjust the path as needed for your version of IntelliJ