What's a good (free) visual merge tool for Git? (on windows)

WindowsGitVersion ControlMerge

Windows Problem Overview


A similar question was already asked, but for Ubuntu.

It would help to know if the tool is free as in beer or as in liber.

Also, up and downs of the tool would be nice to know.

Windows Solutions


Solution 1 - Windows

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)

  • In SourceTree, go to Tools/Options/Diff

  • In External Diff Tool, choose Custom

  • Enter C:\Program Files (x86)\Meld\meld.exe in Diff Command and $LOCAL $REMOTE in Arguments

  • In Merge Tool, choose Custom

  • Enter C:\Program Files (x86)\Meld\meld.exe in Diff Command and $LOCAL $MERGED $REMOTE in Arguments

Solution 2 - Windows

On 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.

Solution 3 - Windows

I've been using P4Merge, it's free and cross platform.

P4Merge

Solution 4 - Windows

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.

Solution 5 - Windows

  • TortoiseMerge (part of ToroiseSVN) is much better than kdiff3 (I use both and can compare);
  • p4merge (from Perforce) works also very well;
  • Diffuse isn't so bad;
  • Diffmerge from SourceGear has only one flaw in handling UTF8-files without BOM, making in unusable for this case.

Solution 6 - Windows

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.

Solution 7 - Windows

What's wrong with using Git For Windows? From the repo view, there's an icon of the branch you're in (at the top), and if you click on manage you can drag&drop in a very visual and convenient way.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionTal GaliliView Question on Stackoverflow
Solution 1 - WindowsGordolioView Answer on Stackoverflow
Solution 2 - WindowsVonCView Answer on Stackoverflow
Solution 3 - WindowsDaniel LittleView Answer on Stackoverflow
Solution 4 - WindowsPreet SanghaView Answer on Stackoverflow
Solution 5 - WindowsLazy BadgerView Answer on Stackoverflow
Solution 6 - WindowseckesView Answer on Stackoverflow
Solution 7 - Windowsuser1553825View Answer on Stackoverflow