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。
- 谢谢,梅尔德真的很好。)这真的很清楚,很容易看到发生了什么。感谢您发布安装说明。如果没有这些我会迷路的。
- 如果您使用cygwin/babun,请将第二个选项替换为:git config --global mergetool.meld.path"/cygdrive/c/Program Files (x86)/Meld/Meld.exe"。
- +1对于git配置,我在下面的p4merge中使用了它:git config --global merge.tool"p4merge" && git config --global mergetool.p4merge.path"C:\Program Files\Perforce\p4merge.exe"。
- @Gordolio,Meld有"简单"或"低分辨率"的用户界面吗?图形有点太漂亮了,完全被大文件卡住了。
- 楔块安装Meld
- 我试着融合,效果很好,视觉效果也很好,但最终却变得比不上工资,而且非常快乐。Meld的一个缺点是按钮没有给出鼠标悬停的描述。另一个-超越比较提供了从一个差异移动到下一个差异的按钮。另一个-Beyond Compare在窗口标题栏中显示文件路径。梅尔德当然"够好的",但我宁愿付出比不上的代价。(而且我与Beyond Compare没有任何联系)。
- Meld在Windows上太慢,速度更快的是:kdiff3、winmergeu
在Windows上,一个好的3路diff/merge工具仍然是kdiff3(目前,winmerge仍然是基于2路的,挂起winmerge3)
请参见"如何在Windows上的Git中合并?"还有这个配置。
7年后更新(2018年8月):Artur K?Dzior在评论中提到:
如果你们碰巧使用了Visual Studio(社区版是免费的),请尝试它附带的工具:vsDiffMerge.exe。它真的很棒,而且很容易使用。
- 德派支持BC,我要检查这个工具。
- @preet:bc仍然是最好的;)但是对于一个免费的工具(多平台),kdiff3也不错。
- 但它显然也没那么好:)我发现使用我的常规代码编辑器更容易。
- @我同意有一点学习曲线,但我现在已经习惯了;)
- 然后运行:git config--global merge.tool"kdiff3";git config--global mergetool.kdiff3.path"c:program fileskdiff3kdiff3.exe"
- WinMerge在高分辨率屏幕上看起来很难看,无法合并。从正确的文件中删除行后,我无法使用带有错误消息的工具。
- @用户4674453有关解决方案,请参阅blogs.msdn.microsoft.com/sqlreleaseservices/…(用winmerge名称和路径替换ssms)
- @VONC,不是我的工作。我选择了另一种工具。
- @用户4674453正常。你在Windows上选择了什么?无法比较?
- @VONC,我选择了源齿轮的diffmerge。其中一个答案提到了这个问题。
- 如果你们碰巧使用了Visual Studio(社区版是免费的),请尝试它附带的工具:vsDiffMerge.exe。它真的很棒,而且很容易使用。
- @阿图克?谢谢你。我已经把你的评论包括在回答中,以提高可见度。
我一直在使用p4merge,它是免费的,跨平台的。
。
- 这还有空吗?它看起来一点也不自由。
- 是的,仍然100%免费,但是他们的下载页面隐藏了一点。
- 正如丹尼尔所说,它是免费的,但是当您运行安装程序时,您需要禁用除"可视化合并工具"之外的所有选项。否则,它将提示您连接到性能服务器。与sourcetree一起工作很好。
- 安装后,使用:git config --global merge.tool"p4merge" && git config --global mergetool.p4merge.path"C:\Program Files\Perforce\p4merge.exe"配置为合并工具
- 感谢您将开源选项指向此处!
- 试图找出如何使用链接下载p4merge的Windows版本似乎是一项相当大的任务。我看不到清晰的下载链接。
- p4merge不支持--dir diff,这对我来说是一个释放机制。
- 链接已断开。更新链接:perfance.com/downloads/visual-merge-tool
我不知道一个好的免费工具,但WinMerge可以。自1999年以来,我一直在使用"超越比较"工具,但无法对其进行足够的评估——它的成本约为50美元,而且这项投资为它自己节省的时间比我想象的要多。
有时,如果工具非常好,就应该付费。
- +1.提及已付期权。
- Winmerge很糟糕。用户界面使得很难区分左边和右边。
- 我用WinMerge很多年了,觉得它很棒。然后我切换到Git进行版本控制,需要一个GUI进行版本比较。首先,我尝试了融合,发现它很好,但缺乏特色。我很乐意为它付出代价。
- TortoiseMerge(ToroisesVN的一部分)比kdiff3要好得多(我两者都用,可以比较);
- p4merge(从性能上)也很好地工作;
- 扩散并不那么糟糕;
- 来自sourcegear的diffmerge在处理没有bom的utf8文件时只有一个缺陷,这使得在本例中无法使用。
- TortoisGitmerge实际上相当不错——我不知道kdiff3,但在TortoisGitmerge中从来没有不高兴或错过过任何东西,它让我可以快速直观地进行双向和三向合并。
- @mindplay.dk-乌龟Gitmerge(大部分)是"好乌龟在引擎盖下合并"
- TortoiseMerge不支持Dir Diff
另一个免费选项是jmeld:http://keeskuip.home.xs4all.nl/jmeld/
它是一个Java工具,因此可以在几个平台上使用。
但是(正如普里特在回答中提到的那样),自由并不总是最好的选择。我遇到过最好的diff/merge工具是araxis merge。标准版售价为99欧元,不算太贵。
它们还提供了如何将Araxis与MSysgit集成的文档。
如果你想坚持使用一个免费的工具,jmeld会非常接近Araxis。
使用Git for Windows有什么问题?从repo视图中,有一个你所在分支的图标(在顶部),如果你点击Manage,你可以以一种非常直观和方便的方式拖放。