Subversion、Git、Mercurial 和其他支持三向合并(结合我的、他们的和“基本”修订版)并支持图形工具来解决冲突。
你用什么工具?Windows、Mac OS X、Linux,免费或商业,应有尽有。
以下是我使用或听说过的一些,只是为了开始对话:
(我认识到这有点像Best Diff Tool,但不同之处在于我明确关注三向合并工具;例如, WinMerge不在列表中。)
Subversion、Git、Mercurial 和其他支持三向合并(结合我的、他们的和“基本”修订版)并支持图形工具来解决冲突。
你用什么工具?Windows、Mac OS X、Linux,免费或商业,应有尽有。
以下是我使用或听说过的一些,只是为了开始对话:
(我认识到这有点像Best Diff Tool,但不同之处在于我明确关注三向合并工具;例如, WinMerge不在列表中。)
KDiff3 开源,跨平台
Linux 和 Windows 界面相同,非常智能的冲突解决算法,自动解决冲突的正则表达式,与 ClearCase、SVN、Git、MS Visual Studio 集成,可编辑合并文件,比较目录
它的键盘导航很棒:ctrl-arrows 导航差异,ctrl-1、2、3 进行合并。
另请参阅https://stackoverflow.com/a/2434482/42473
Beyond Compare 3 Pro支持三向合并,是一款相当不错的合并工具。它是商业的(但值得,恕我直言),可在 Windows、Linux 和 Mac OS X 上使用。
正如评论中指出的那样,它也很便宜。
注意:如果没有合并集,即目标文件中的合并标记,Beyond Compare 不提供三向文件比较/编辑。Beyond Compare表示该功能在他们的列表中。
注意:3 路合并是 Beyond Compare 3 专业版中的一项功能
我只有与 Meld 合作的好经历。当我必须在分支之间进行杂乱的代码合并时,我会使用它。它使用简单,界面简洁。
在 Ubuntu 中,安装非常简单:sudo apt-get install meld
vimdiff。这很棒。你所需要的只是一个三英尺宽的窗户。
Araxis 合并。它是商业的,但它非常值得……它适用于 Windows 和 Mac OS X。
Kdiff3 冲突解决算法确实令人印象深刻。
即使颠覆表明存在冲突,Kdiff3 也会自动解决它。有相同界面的 Windows 和 Linux 版本。可以将它与 Tortoise 和你的 linux shell 集成。
它在我最喜欢的开源软件列表中。我在任何机器上安装的首批工具之一。
您可以将其配置为 Subversion、Git、Mercurial 和 ClearCase 中的默认差异工具。它还解决了几乎所有的 ClearCase 冲突。在 Windows 中,它与 Windows 资源管理器有很好的集成:选择两个文件并右键单击以比较它们,或者右键单击“保存到以后”一个文件,然后选择另一个进行比较。
合并后的文件是可编辑的。有流畅的键盘快捷键。
您还可以使用它比较和合并目录。看:
一个高级功能是使用正则表达式来定义自动合并。
我唯一的烦恼是,如果你最喜欢的发行版存储库中没有它,编译起来会有点困难。
超比较。真的很好,可以很好地处理大文件(超过 1 GB),适用于 Windows/Mac/Linux,而且它是商业的,但它是值得的。
要进行三向比较,请使用ediff-files3
(用于选择三个文件)或ediff-buffer3
(用于选择三个已打开的缓冲区)。您将看到如下所示的屏幕:
注意单词差异突出显示。
您可以点击n
或p
转到下一个/上一个差异,同时ab
将区域从缓冲区 a(最左边的一个)复制到缓冲区 b(中间的一个),对于 , , 的其他两个字母组合a
也是b
如此c
;rb
将恢复缓冲区 b 中的区域。点击?
快速帮助菜单,或阅读 Emacs 中 diff3 合并的精美手册。
Diffuse是一个易于使用的三向合并工具。它支持您提到的所有平台和版本控制系统,并且可以同时比较三个以上的文件。
xxdiff如果你在 Linux 领域。
总结是我发现 ECMerge 是一个很棒的商业产品。http://www.elliecomputing.com/products/merge_overview.asp
我也同意 MrTelly 的观点,即 Ultracompare 非常好。一个不错的功能是它会比较 RTF 和 Word 文档,当您最终与销售人员进行 Word 编程并且他们没有正确管理他们的文档时,这很方便。