前言:
我们经常会遇到需要比较同一文件的不同版本,特别是代码文件。比如在两个不同的github仓库之间merge代码,如果人工去对比查看,势必费时实力还会出现纰漏和错误,因此我们需要借助一些代码比较的工具来自动完成这些工作。
对于专业人员 - 立即识别每个改动,可以从其它应用程序(比如 Microsoft Word)在编辑的不同合同草案中拷贝原文并直接粘贴到某个比较窗口中。
对软件工程师和网页开发者 - 快速精确地比较、了解和联合不同版本的源文件。无论比较单个文件还是调整源代码的整个分支,该软件都可以精确快速地执行。使用 three-way comparison 可集成您自己和他人所作的变动。使用 FTP plugin 可以实现站点的同步。
对版本和质量控制管理人员 - 通过比较不同的源代码分支来确定,了解对特定版本的每个文件所作的每个改动。比较不同的产品版本检查是否只改动了应该改动的文件。创建为审计目的而改动的 HTML 或 XML 报告。
对代码校验者(code reviewers)和审计者 - 确定两个或三个源代码层次之间所作的改动。创建单独的 HTML 或 XML 的裁决报告。在文件或文件夹比较中填加标签和评论,然后保存为单个文件存档,email 到其他队伍成员以便校验(review)。
对其它用户 - 无论您要用文本文件的多重版本还是需要同步多重文件夹树(比如,在桌面和笔记本电脑之间),Merge 都可以帮助您节省时间,减少错误,提高工作效率。
这里介绍4款比较流行且功能强大的工具。
1. Araxis Merge
Araxis Merge 是一个可视化的文件比较、合并和同步的软件,能够方便的被软件工程师和 web 站点开发者使用快速精确地比较、了解和联合不同版本的源文件;进行版本和质量控制,创建 HTML 或是 XML 报告。
支持Windows平台。
这款软件的不足是不是开源的,需要付费购买,幸运的是能够google到破解版或者绿色版。
2. Beyond compare
这是一款专业级的代码比较和分析工具,它能够对文件夹、文件进行比较,不同之处会通过高亮标注显示。不管是文件夹比较还是文件比较都是采取左右两栏的布局,符合大部分用户使用习惯。文件夹的浏览采用了树状结构,操作左右任何一边的任何一个目录或文件,两边都会自动同步显示,当点击某一个文件时,就会跳出该文件的比较窗口。
支持Windows和Linux平台。
这款软件的唯一不足是不开源,需要付费购买,幸运的是能够google到破解版或者绿色版。
官网地址:Download Beyond Compare Free Trial
绿色版下载地址:文件比较工具-Beyond Compare(文件比较) V4.1.9.21719 中文特别版 - 未来软件园
3. DiffMerge
这是一款完全开源的软件,其官网提供了Windows平台的安装版和绿色版以及OS X、Ubuntu、 Fedora上的安装文件下载。它能够实现文件夹和文件的比较。浏览方式并没有采用Beyond Compare的树状模式,而是采用平铺方式,所有文件和文件夹都显示在一层上,通过view菜单来选择和过滤要显示内容。
4. WinMerge
在软件专为WinMerge平台设计,同样能够实现文件夹和文件的比较。文件夹的比较结果采用字段式(标签卡式)的显示方式而摒弃了左右栏显示模式。就功能来说该有的功能(高亮,合并等等)都有,非常强大。该软件也是免费的。