The Perforce Visual Client (P4V) is a free tool that provides one of the most explicit interface for merging (see some screenshots). Works on all major platforms.
Perforce, the company best known for its enterprise version control platform, also offers a solid diff tool: P4Merge is free of charge and comes with a basic feature set that makes it an interesting option on Windows, macOS and Linux.
if you are inside visual studio, it will handle diff and merge automatically, even if it is not configured as diff or merge tool.
I've also used Meld. It's written in python. There is an official installer for Windows that works well.
Install it and then set it as your default mergetool.
$ git config --global merge.tool "meld"
$ git config --global mergetool.meld.path "C:\Program Files (x86)\Meld\Meld.exe"
If using a GUI GIT client, try the following (instructions for SourceTree, adjust accordingly)
External Diff Tool
, choose CustomC:\Program Files (x86)\Meld\meld.exe
in Diff Command and $LOCAL $REMOTE
in ArgumentsMerge Tool
, choose CustomC:\Program Files (x86)\Meld\meld.exe
in Diff Command and $LOCAL $MERGED $REMOTE
in ArgumentsOn Windows, a good 3-way diff/merge tool remains kdiff3 (WinMerge, for now, is still 2-way based, pending WinMerge3)
See "How do you merge in GIT on Windows?" and this config.
Update 7 years later (Aug. 2018): Artur Kędzior mentions in the comments:
If you guys happen to use Visual Studio (Community Edition is free), try the tool that is shipped with it: vsDiffMerge.exe
. It's really awesome and easy to use.
I've been using P4Merge, it's free and cross platform.
I don't know a good free tool but winmerge is ok(ish). I've been using the beyond compare tools since 1999 and can't rate it enough - it costs about 50 USD and this investment has paid for it self in time savings more than I can possible imagine.
Sometimes tools should be paid for if they are very very good.
Another free option is jmeld: http://keeskuip.home.xs4all.nl/jmeld/
It's a java tool and could therefore be used on several platforms.
But (as Preet mentioned in his answer), free is not always the best option. The best diff/merge tool I ever came across is Araxis Merge. Standard edition is available for 99 EUR which is not that much.
They also provide a documentation for how to integrate Araxis with msysGit.
If you want to stick to a free tool, JMeld comes pretty close to Araxis.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With