Linux 系统上的可视化比较与合并工具 Meld

我们已经讲过 Linux一些基于命令行的比较和合并工具,再来讲解该系统的一些可视化的比较与合并工具也很合理。首要的原因是,不是每个人都习惯使用命令行,而且对于某些人来说,基于命令行的比较工具可能很难学习和理解。

因此,我们将会推出关于可视化工具 Meld 的系列文章。

在跳到安装和介绍部分前,我需要说明这篇教程里所有的指令和用例是都是可用的,而且它们已经在 Ubuntu 14.04 中测试过了,我们使用的 Meld 版本是 3.14.2。

关于 Meld

Meld 主要是一个可视化的比较和合并的工具,目标人群是开发者(当然,我们将要讲到的其它部分也会考虑到最终用户)。这个工具同时支持双向和三向的比较,不仅仅是比较文件,还可以比较目录,以及版本控制的项目。

“Meld 可以帮你回顾代码改动,理解补丁,”其官网如是说。“它甚至可以告知你如果你不进行合并将会发生什么事情。”该工具使用 GPL v2 协议进行授权。

安装 Meld

如果你用的是 Ubuntu 或者其它基于 Debian 的 Linux 分支,你可以用以下命令下载安装 Meld:

sudoapt-get install meld

或者你也可以用系统自带的包管理软件下载这个工具。比如在 Ubuntu 上,你可以用 Ubuntu 软件中心(Ubuntu Software Center),或者用 Ubuntu 软件,它从 Ubuntu 16.04 版本开始取代了 Ubuntu 软件中心。

当然,Ubuntu 官方仓库里的 Meld 版本很有可能比较陈旧。因此如果你想要用更新的版本,你可以在这里下载软件包。如果你要用这个方法,你要做的就是解压下载好的软件包,然后运行 bin 目录下的 meld 程序。

~/Downloads/meld-3.14.2/bin$ ./meld 

以下是 Meld 依赖的软件,仅供参考:

Python 2.7 (Python 3.3 开发版)

GTK+ 3.14

GLib 2.36

PyGObject 3.14

GtkSourceView 3.14

pycairo

使用 Meld

装好了软件,就可以看到类似这样的画面:

Meld started

Meld started

有三个选项:比较文件(File comparison),比较目录(Directory comparison)以及版本控制视图(Version control view)。

点击“比较文件”选项,就可以选择需要比较的文件:

Meld file comparison

Meld file comparison

就像上面的截图那样明白,Meld 也可以进行三向比较,但是在这一系列文章的第一部分,我们只会讲更常用的双向比较。

接着,选择你想要比较的文件,点击“比较”(Compare)按钮。软件会在两边分别打开两个文件,高亮不同的行(以及不同的部分)。

Compare files in Meld

Compare files in Meld

两个文件的不同之处在第二行,差别在于 file2 文件的第二行多了一个 3。你看到的黑色箭头是用来进行合并或修改的操作的。该例中,向右的箭头将会把 file2 文件的第二行改成文件 file1 中对应行的内容。左向箭头做的事情相反。

做完修改后,按下 Ctrl+s 来保存。

这个简单的例子,让你知道 Meld 的基本用法。让我们看一看稍微复杂一点的比较:

Meld advanced file comparison

Meld advanced file comparison

在讨论这些变化前,这里提一下, Meld 的界面中有几个区域,可以给出文件之间的差异,让概况变得直观。这里特别需要注意窗口的左右两边垂直的栏。比如下面这个截图:

Visual Comparison

Visual Comparison

仔细观察,图中的这个栏包含几个不同颜色的区块。这些区块是用来让你对文件之间的差异有个大概的了解。“每一个着色的区块表示一个部分,这个部分可能是插入、删除、修改或者有差别的,取决于区块所用的颜色。”官方文档是这样说的。

现在,让我们回到我们之前讨论的例子中。接下来的截图展示了用 Meld 理解文件的改动是很简单的(以及合并这些改动):

File changes visualized in Meld

File changes visualized in Meld

Meld Example 2

Meld Example 2

Meld Example 3

Meld Example 3

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/13921.html