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

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

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

KDiff3 DiffMerge P4Merge 融合 Beyond Compare Pro。

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


当前回答

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

其他回答

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

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

我爱Ediff。它内置在GNU Emacs中。

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

注意单词差异突出显示。

你可以按n或p转到下一个/上一个差分,而ab会将区域从缓冲区a(最左边的那个)复制到缓冲区b(中间的那个),类似地,其他两个字母的组合a, b, c;rb将恢复缓冲区b中的区域。命中?获取快速帮助菜单,或阅读Emacs中diff3合并的精细手册。

KDiff3 开源,跨平台

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

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

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

Kdiff3冲突解决算法真的令人印象深刻,它很好地集成了Git。

我建议将它配置为Git mergetool,或者使用一个不错的Git前端作为GitExtensions。

即使Git/Subversion提示有冲突,Kdiff3也会自动解决。Windows和Linux都有相同界面的版本。可以将它与Tortoise和linux shell集成在一起。附注:您还可以尝试Git合并策略

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

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

合并的文件是可编辑的,因此可以在合并冲突后进行微调。有流畅的键盘快捷键。

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

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

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

融合差异查看器

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

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

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