在Linux上使用可视化差异/合并工具Meld比较文件的初学者指南

现在我们已经在Linux中介绍 了一些基于命令行的差异/合并工具,同样也可以解释一些可用于操作系统的可视化差异/合并工具。 理由是,不是每个人都被使用到命令行,和/或基于命令行的比较工具对于某些人来说可能更难学习和理解。

所以,我们将使用一个名为Meld的基于GUI的工具来启动这个新系列。

But before we jump onto the installation and explanation part, it'd be worth sharing that all the instructions and examples presented in this tutorial have been tested on Ubuntu 14.04 and the Meld version we've used is 3.14.2.

关于Meld

Meld基本上是一个主要面向开发人员的视觉比较和合并工具(但是请放心,我们将解释最终用户的工具)。 该工具支持两路和三路比较,不仅可以比较文件,还可以对目录和版本控制的项目进行比较

官方网站说:“Meld可帮助您查看代码更改并了解修补程序。 “这甚至可以帮助你找出你正在避免的合并中发生的情况。” 该工具根据GPL v2许可。

焊接安装

如果您正在使用Ubuntu或任何其他基于Debian的Linux发行版,则可以使用以下命令下载并安装Meld:

sudo apt-get install meld

或者,您也可以使用系统的软件包管理器下载该工具。 例如,在Ubuntu上,您可以使用Ubuntu软件中心或Ubuntu软件 ,该软件中心已经取代了以前版本的操作系统版本16.04。

但是,Ubuntu官方存储库中的Meld版本可能很旧。 所以,在这种情况下,如果你想使用更新的版本,你可以从这里下载包。 如果您选择此方法,那么您所要做的就是提取下载的软件包,然后运行'bin'文件夹下的'meld'二进制文件:

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

FYI,以下是Meld要求的包裹:

  • Python 2.7(开发中的Python 3.3)
  • GTK + 3.14
  • GLib 2.36
  • PyGObject 3.14
  • GtkSourceView 3.14
  • pycairo

融合使用

启动该工具后,您会看到类似于以下内容的屏幕:

所以你有三个选项:文件比较,目录比较和版本控制视图。

单击“文件比较”选项,您将被要求选择要比较的文件:

从上面的屏幕截图可以清楚的看出,Meld还可以让您执行3路比较,但是在本系列的第一部分中,我们将坚持更常见的双向比较。

继续,选择要比较的文件,然后单击“比较”按钮。 您将看到该工具并排打开两个文件,并突出显示不同的行(以及差异)。

所以差异在两个文件的第二行,实际的区别是file2的第二行额外的'3'。 您看到的那些黑色箭头在那里执行合并/更改操作。 在这种情况下,右箭头将使用'file1'中的相应行更改'file2'中的第二行。 左箭头将反过来。

进行更改后,您可以执行Ctrl + s保存。

这是一个简单的例子,让你知道Meld在基本层面上的作品。 我们来看一下稍微复杂一点的比较:

在讨论这些变化之前,值得一提的是,Meld GUI中有一些区域可以让您可视化地了解文件之间的变化。 具体来说,我们在此通知的是在窗口左侧和右侧的垂直条 例如,请参阅以下截图:

如果您仔细观察,上面截图中的栏包含一些彩色块。 这些块旨在让您概述两个文件之间的所有差异。 官方文档解释说:每个彩色块代表插入,删除,更改或在文件之间发生冲突的部分,具体取决于所使用的块的颜色。

现在,我们回到我们正在讨论的例子。 以下屏幕截图显示使用Meld时了解文件更改(以及合并)的方式:

继续,到目前为止,我们通过滚动文件从一个更改跳转到另一个。 但是,有时候,被比较的文件非常大,每次想跳转到更改时都难以滚动。 为此,您可以使用本身位于编辑区域上方的工具栏中的橙色箭头:

以下是使用Meld时的一些常见问题:您可以使用标准的Ctrl + f键组合在编辑器区域中找到某些内容,按F11键使工具进入全屏模式,然后按Ctrl + r刷新(通常在被比较的任何一个或两个文件被更改时使用)。

以下是官方Meld网站刊登的一些主要功能:

  • 文件和目录的两路和三路比较
  • 文件比较更新时输入
  • 自动合并模式和更改块上的操作有助于简化合并
  • 可视化使您更容易比较您的文件
  • 支持Git,Bazaar,Mercurial,Subversion等

请注意,上面的列表并不详尽。 该网站包含一个专用的功能页面 ,其中包含了Meld提供的详尽的功能列表。 根据该工具是否用于文件比较,目录比较,版本控制或合并模式,列出的所有功能都分为几个部分。

像任何其他软件工具一样,Meld不能做某些事情。 官方网站列出了至少其中一个:“ Meld显示文件之间的差异时,它会显示两个文件,因为它们将出现在正常的文本编辑器中,它 不会 插入额外的行,以使特定更改的左侧和右侧是相同的大小,没有选择这样做。“

结论

我们刚刚在这里划过表面,因为Meld有更多的能力。 但是现在还好,因为这是教程系列的第一部分。 只是为了让您了解Meld的功能,您可以将该工具配置为忽略某些类型的更改,要求它移动,复制或删除文件之间的个体差异,并从命令行启动它们。 我们将在本教程系列的后续部分中讨论所有这些关键功能。

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏