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

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

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

KDiff3 DiffMerge P4Merge 融合 Beyond Compare Pro。

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


当前回答

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

其他回答

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

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

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

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

注意单词差异突出显示。

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

融合差异查看器

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

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

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

KDiff3 开源,跨平台

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

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

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