什么是Git的优秀(免费)视觉合并工具?

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

除了Ubuntu,已经有人问过类似的问题。

这将有助于了解这个工具是免费的,比如啤酒还是自由的。

另外,工具的上下变化也很容易知道。


我也用过meld。它是用Python写的。有一个Windows的官方安装程序运行良好。

安装它,然后将其设置为默认的合并工具。

1
2
$ git config --global merge.tool"meld"
$ git config --global mergetool.meld.path"C:\Program Files (x86)\Meld\Meld.exe"

如果使用GUI Git客户机,请尝试以下操作(有关sourcetree的说明,请相应调整)

  • 在sourcetree中,转到工具/选项/diff
  • External Diff Tool中,选择自定义
  • 在diff命令中输入C:\Program Files (x86)\Meld\meld.exe,在参数中输入$LOCAL $REMOTE
  • Merge Tool中,选择自定义
  • 在diff命令中输入C:\Program Files (x86)\Meld\meld.exe,在arguments中输入$LOCAL $MERGED $REMOTE


在Windows上,一个好的3路diff/merge工具仍然是kdiff3(目前,winmerge仍然是基于2路的,挂起winmerge3)

请参见"如何在Windows上的Git中合并?"还有这个配置。

7年后更新(2018年8月):Artur K?Dzior在评论中提到:

如果你们碰巧使用了Visual Studio(社区版是免费的),请尝试它附带的工具:vsDiffMerge.exe。它真的很棒,而且很容易使用。


我一直在使用p4merge,它是免费的,跨平台的。

P4Merge


我不知道一个好的免费工具,但WinMerge可以。自1999年以来,我一直在使用"超越比较"工具,但无法对其进行足够的评估——它的成本约为50美元,而且这项投资为它自己节省的时间比我想象的要多。

有时,如果工具非常好,就应该付费。


  • TortoiseMerge(ToroisesVN的一部分)比kdiff3要好得多(我两者都用,可以比较);
  • p4merge(从性能上)也很好地工作;
  • 扩散并不那么糟糕;
  • 来自sourcegear的diffmerge在处理没有bom的utf8文件时只有一个缺陷,这使得在本例中无法使用。


另一个免费选项是jmeld:http://keeskuip.home.xs4all.nl/jmeld/

它是一个Java工具,因此可以在几个平台上使用。

但是(正如普里特在回答中提到的那样),自由并不总是最好的选择。我遇到过最好的diff/merge工具是araxis merge。标准版售价为99欧元,不算太贵。

它们还提供了如何将Araxis与MSysgit集成的文档。

如果你想坚持使用一个免费的工具,jmeld会非常接近Araxis。


使用Git for Windows有什么问题?从repo视图中,有一个你所在分支的图标(在顶部),如果你点击Manage,你可以以一种非常直观和方便的方式拖放。