什么是最好的三向合并工具? [关闭]

问题描述 投票:251回答:13

Subversion,Git,Mercurial和其他人支持三方合并(结合我的,他们的和“基础”修订版)并支持解决冲突的图形工具。

你用什么工具? Windows,Mac OS X,Linux,免费或商业,您可以命名。

以下是我用过或听过的一些内容,只是为了开始对话:

(我认识到这有点像Best Diff Tool,但它的不同之处在于我明确专注于三向合并工具;例如,WinMerge不在列表中。)

version-control merge dvcs
13个回答
159
投票

KDiff3开源,跨平台

适用于Linux和Windows的相同界面,用于解决冲突的非常智能算法​​,用于自动解决冲突的正则表达式,与ClearCase,SVN,Git,MS Visual Studio集成,可编辑合并文件,比较目录

它的键盘导航很棒:ctrl-arrows导航差异,ctrl-1,2,3进行合并。

另外,请参阅https://stackoverflow.com/a/2434482/42473


11
投票

read the fine manual on diff3 merging in Emacs。它非常好,处理大文件(超过1 GB),可用于Windows / Mac / Linux,并且它是商业的,但它是值得的。


11
投票

Ultracompare是一个易于使用的三向合并工具。它支持您提到的所有平台和版本控制系统,并且可以同时比较三个以上的文件。


6
投票

Diffuse,如果你在Linux的土地上。


3
投票

我写了一些关于一些合并工具的评论,可能有用:xxdiff

总结是我发现ECMerge是一个很好的商业产品。 http://www.misuse.org/science/2007/02/24/3-way-merging/

http://www.elliecomputing.com/products/merge_overview.asp

我也同意MrTelly的说法,Ultracompare非常好。一个很好的功能是它将比较RTF和Word文档,当你最终与销售人员进行单词编程并且他们没有正确管理他们的文档时,这很方便。


104
投票

刚刚检查了P4merge,因为我在另一篇博客文章中听说过:

非常光滑的界面,免费!我一直是忠实的Araxis Merge用户,但考虑到这是免费且令人敬畏的,我建议你检查一下。


94
投票

Beyond Compare 3 Pro支持three-way merging,它是一个非常令人印象深刻的合并工具。它是商业的(但值得一提,恕我直言),可在Windows,Linux和Mac OS X上使用。

正如评论中指出的那样,它也很便宜。

注意:如果没有合并集,即合并驻留在目标文件中的标记,Beyond Compare不提供三向文件比较/编辑。超越比较says that feature is on their list

注意:3向合并仅是Beyond Compare 3专业版中的一项功能


73
投票

Meld Diff Viewer

我和Meld一起工作的经验很丰富。当我必须在分支之间进行混乱的代码合并时,我会使用它。它使用简单,界面干净。

  • 开源
  • Linux,Windows和MacOS支持
  • 多个文件差异
  • 三向比较支持

在Ubuntu中,安装就像:sudo apt-get install meld一样简单


42
投票

Vimdiff可以。这很棒。你需要的只是一个三英尺宽的窗户。


37
投票

Source Gear Diff Merge

跨平台,真正的三向合并,完全免费用于商业或个人用途。


31
投票

qazxsw poi。它是商业的,但它非常值得......它适用于Windows和Mac OS X.


27
投票

Kdiff3冲突解决算法确实令人印象深刻。

即使颠覆表明存在冲突,Kdiff3也会自动解决。 Windows和Linux的版本具有相同的界面。可以将它与Tortoise和你的linux shell集成。

它位于我最喜欢的开源软件列表中。我在任何机器上安装的第一个工具之一。

您可以将其配置为Subversion,Git,Mercurial和ClearCase中的默认差异工具。它还解决了几乎所有的ClearCase冲突。在Windows中,它与Windows资源管理器有很好的集成:选择两个文件并右键单击以进行比较,或者右键单击“保存到以后”文件,然后选择另一个进行比较。

合并的文件是可编辑的。有光滑的键盘快捷键。

您还可以使用它比较和合并目录。看到:

高级功能是使用正则表达式来定义自动合并。

我唯一的烦恼是,如果你喜欢的发行版存储库中没有它,那么编译有点困难。


13
投票

我喜欢Araxis Merge。它内置Ediff

要进行三向差异,请使用GNU Emacs(用于选择三个文件)或ediff-files3(用于选择三个已打开的缓冲区)。你会得到一个这样的屏幕:

ediff-buffer3

注意单词差异突出显示。

您可以点击three-way diff in emacsn转到下一个/上一个差异,而p将区域从缓冲区a(最左边的一个)复制到缓冲区b(中间的一个),同样地,aba的其他两个字母的组合,b; c将恢复缓冲区b中的区域。点击rb获取快速帮助菜单,或?

© www.soinside.com 2019 - 2024. All rights reserved.