什么是最好的三向合并工具?

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

你用什么工具?Windows, mac os X, Linux,免费或商业,你能想到的。

下面是一些我用过或听说过的,只是为了开始对话:

(我承认这有点像最佳差异工具,但它的不同之处在于,我明确地专注于三路合并工具;例如,WinMerge不在列表中。)

219301 次浏览

Beyond Compare 3 Pro支持三方合并,它是一个令人印象深刻的合并工具。它是商业化的(但是值得一试,恕我直言),可以在Windows、Linux和Mac OS X上使用。

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

Enter image description here

注意:如果没有合并集,也就是说合并标记驻留在目标文件中,Beyond Compare不提供三向文件比较/编辑。Beyond Compare 说这个功能在他们的清单上

注意:3-way merge是Beyond Compare 3 Pro版的一个功能

Ultracompare。它真的很好,处理大文件(超过1 GB)很好,适用于Windows/Mac/Linux,而且它是商用的,但它是值得的。

 ultraccompare Professional on Windows屏幕截图

vimdiff。太棒了。你只需要一扇三英尺宽的窗户。

enter image description here

xxdiff如果你在Linux领域。

Enter image description here

源齿轮差异合并:

跨平台,真正的三方合并,它是完全免费的商业或个人使用。

enter image description here

Meld Diff Viewer

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

  • 开源
  • 支持Linux、Windows、MacOS
  • 多文件差异
  • 三方比较支持

在Ubuntu中,安装非常简单:sudo apt-get install meld

enter image description here

我喜欢Ediff。它内置在GNU Emacs中。

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

three-way diff in emacs

注意单词差异突出显示。

你可以点击np转到下一个/上一个差分,而ab将从缓冲区a(最左边的那个)复制区域到缓冲区b(中间的那个),类似地,其他两个字母组合abc;rb将恢复缓冲区b中的区域。点击?进入快速帮助菜单,或阅读Emacs中关于diff3合并的详细手册

Araxis合并。它很商业化,但它是如此值得……它适用于Windows和macosx。

Enter image description here

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

enter image description here

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

enter image description here

非常流畅的界面,和免费!我一直是Araxis Merge的忠实用户,但考虑到它是免费的,而且很棒,我鼓励你去看看。

KDiff3 开源,跨平台

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

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

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

enter image description here

Kdiff3冲突解决算法真的很厉害。

即使当subversion指示冲突时,Kdiff3也会自动解决它。Windows和Linux都有相同界面的版本。可以将它与Tortoise和linux shell集成在一起。

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

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

合并的文件是可编辑的。有流畅的键盘快捷键。

你也可以用它来比较和合并目录。看到的: Kdiff3比较目录

.

一个高级特性是使用正则表达式定义自动合并。

我唯一的烦恼是,如果它不在您最喜欢的发行版存储库中,那么编译起来有点困难。

总之,我发现ECMerge是一个很棒的商业产品。http://www.elliecomputing.com/products/merge_overview.asp

enter image description here

我也同意telly先生的看法,ultraccompare非常好。一个很好的特性是它可以比较RTF和Word文档,当你和销售人员用Word编程而他们没有正确管理他们的文档时,这是很方便的。