什么是Git的良好(免费)可视合并工具?(在Windows上)[关闭]


154

一个类似的问题已经被问过,但对Ubuntu。

这将有助于了解该工具是免费的(如啤酒还是解放者)。

此外,该工具的起伏不定会很高兴知道。

Answers:


72

在Windows上,一个不错的3向差异/合并工具仍然是kdiff3WinMerge,目前仍基于2向,正在等待WinMerge3)

请参阅“ 如何在Windows上的GIT中合并? ”和此配置


7年后更新(2018年8月):ArturKędzior 在评论中提到:

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


1
尽管偏爱BC,但我将检查此工具。
Preet Sangha,

3
@Preet:BC仍然是最好的;)但是对于免费工具(当时是多平台的),kdiff3不错。
VonC

但这肯定也不是很不错:)我倾向于发现使用常规代码编辑器更容易。
Warpzit 2015年

1
@Warpzit我同意学习有点困难,但是现在我已经习惯了;)
VonC 2015年

1
@ArturKędzior谢谢。我已将您的评论包含在答案中,以提高知名度。
VonC

72

我也用过Meld。它是用python编写的。Windows的官方安装程序运行良好。

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

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

如果使用GUI GIT客户端,请尝试以下操作(有关SourceTree的说明,请相应地进行调整)

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

9
谢谢,梅尔德真的很好:)很清楚,很容易看到发生了什么。感谢您发布安装说明。没有那些我会迷路的。
Daniel Tonon

5
如果您使用的是cygwin / babun,请将第二个选项替换为:git config --global mergetool.meld.path "/cygdrive/c/Program Files (x86)/Meld/Meld.exe"
tempestSA 2015年

1
+1的git配置,我在下面的P4Merge中使用它:git config --global merge.tool "p4merge" && git config --global mergetool.p4merge.path "C:\Program Files\Perforce\p4merge.exe"
Mark C

@Gordolio,是否有用于融合的“简单”或“低分辨率” UI?图形漂亮了,完全被大文件阻塞了。
Pacerier,2015年

1
我尝试了Meld,它的效果不错,并带有一些不错的视觉效果,但最终还是获得了Beyond Compare的报酬,并且非常满意。Meld的缺点是按钮没有提供鼠标悬停的描述。另一个-超越比较提供了从一个差异移动到另一个差异的按钮。另一个-超越比较在窗口标题栏中显示文件路径。Meld当然“足够好”,但我宁愿为Beyond Compare付出代价。(而且我与Beyond Compare没有任何隶属关系)。
史蒂芬·霍斯金

28

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

P4合并


1
这还免费吗?它似乎根本不是免费的。
null_pointer 2014年

4
是的,仍然100%免费,但他们的下载页面将其隐藏了一点。
Daniel Little

8
正如Daniel所说的那样,它是免费的,但是当您运行安装程序时,您需要禁用除“ Visual Merge Tool”之外的所有选项。否则,它将提示您连接到Perforce服务器。与SourceTree一起很好地工作。
约翰

11
安装完成后,请使用以下方法配置为mergetool:git config --global merge.tool "p4merge" && git config --global mergetool.p4merge.path "C:\Program Files\Perforce\p4merge.exe"
Mark C

1
试图弄清楚如何使用链接下载Windows版本的p4merge似乎是一项艰巨的任务。我看不到明确的下载链接。
Artif3x

25

我不知道一个好的免费工具,但是winmerge可以。自1999年以来,我一直在使用“ 超越比较”工具,但无法对其进行足够的评级-它的成本约为50美元,而这项投资为我自己节省了时间,节省的费用超出了我的想象。

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


5
+1提及付费选项。
eckes

1
winmerge很糟糕。用户界面使您很难从右边分辨左边。
Pacerier,2015年

1
我使用WinMerge多年,认为它很棒。然后我切换到git进行版本控制,并需要GUI进行版本比较。首先,我尝试使用Meld并发现它不错,但是缺少功能。超越比较为我解决了这个问题,我很高兴为此付出代价。
史蒂芬·霍斯金

16
  • TortoiseMerge(ToroiseSVN的一部分)比kdiff3 更好(我同时使用并且可以进行比较);
  • p4merge(来自Perforce)也可以很好地工作;
  • 扩散并不算太糟。
  • SourceGear的Diffmerge 在不使用BOM的情况下处理UTF8文件只有一个缺陷,因此在这种情况下无法使用。

TortoiseGitMerge实际上非常好-我不了解kdiff3,但从未对TortoiseGitMerge感到不满或错过任何东西,它使我可以非常快速,直观地完成两种方式。
mindplay.dk '16

@ mindplay.dk - TortoiseGitMerge是(大部分)醇”好引擎盖下的TortoiseMerge
懒惰獾

TortoiseMerge不支持dir-diff
andrew.rockwell

1

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

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

但是(正如Preet在回答中提到的那样),免费并非总是最好的选择。我遇到过的最好的差异/合并工具是Araxis Merge。标准版的价格为99欧元,不算多。

他们还提供了有关如何将Araxis与msysGit集成的文档

如果您想使用免费工具,则JMeld非常接近Araxis。


我也听说过很多有关Araxis的好东西。
Preet Sangha

-1

使用Windows版Git有什么问题?在仓库视图中,有一个您所在分支的图标(在顶部),如果您单击管理,则可以以非常直观和方便的方式进行拖放。


7
我认为问题在于解决合并冲突。
Leif Gruenwoldt 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.