来自 计算机操作系统 2019-12-10 13:24 的文章
当前位置: 美高梅4858官方网站 > 计算机操作系统 > 正文

系统上的可视化比较与合并工具,比较文件夹

使用 Meld

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

图片 1

Meld started

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

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

图片 2

Meld file comparison

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

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

图片 3

Compare files in Meld

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

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

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

图片 4

Meld advanced file comparison

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

图片 5

Visual Comparison

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

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

图片 6

File changes visualized in Meld

图片 7

Meld Example 2

图片 8

Meld Example 3

接着,我们滑动文件,从一个改动跳到另一个。但是,当要比较的文件很大时,这会耗一点时间,当你想要滑动文件跳到一个改动的位置时,也会变得很困难。如果是这种情况的话,你可以用工具栏的橙色箭头,就在编辑区域的上方:

图片 9

Go to next change in Meld

这些是你使用 Meld 时做的一般性的事情:可以用标准的 Ctrl+f 组合键在编辑区域内进行查找,按 F11 键让软件进入全屏模式,再按 Ctrl+r 来刷新(通常在所有要比较的文件改变的时候使用)。

以下是 Meld 官方网站宣传的重要特性:

  • 文件和目录的双向及三向比较
  • 输入即更新文件的比较
  • 自动合并模式,按块改动的动作让合并更加简单
  • 可视化让比较文件更简单
  • 支持 Git,Bazaar,Mercurial,Subversion 等等

注意还不仅仅只有以上所列的。网站上有个专门的特性页面,里面提到了 Meld 提供的所有特性。这个页面列出的所有特性分为几个部分,以该软件是用来做文件比较、目录比较、版本控制还是处于合并模式下为基础进行划分。

和其它软件相似,有些事情 Meld 做不到。官方网站上列出了其中的一部分:“当 Meld 展示文件之间的差异时,它同时显示两个文件,看起来就像在普通的文本编辑器中。它不会添加额外的行,让左右两边文件的特殊改动处于同样的行数。没有做这个事情的选项。”

 

我们已经从一个新手的角度了解了 Meld (包括 Meld 的安装),我们也提及了一些 Meld 中级用户常用的小技巧。如果你有印象,在新手教程中,我们说过 Meld 可以比较文件和文件夹。已经讨论过怎么比较文件,今天,我们来看看 Meld 怎么比较文件夹。

关于 Meld

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

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

 

用 Meld 比较文件夹

打开 Meld 工具,然后选择 比较文件夹Directory comparison 选项来比较两个文件夹。

图片 10

Compare directories using Meld

选择你要比较的文件夹:

图片 11

select the directories

然后单击比较Compare 按钮,你会看到 Meld 像图中这样分成两栏比较目录,就像文件比较一样。

图片 12

Compare directories visually

分栏会树形显示这些文件夹。你可以在上图中看到 —— 区别之处,不论是新建的还是被修改过的文件 —— 都会以不同的颜色高亮显示。

根据 Meld 的官方文档可以知道,在窗口中看到的每个不同的文件或文件夹都会被突出显示。这样就很容易看出这个文件/文件夹与另一个分栏中对应位置的文件/文件夹的区别。

下表是 Meld 网站上列出的在比较文件夹时突出显示的不同字体大小/颜色/背景等代表的含义。

状态 表现 含义
相同 正常字体 比较的文件夹中所有文件/文件夹相同。
过滤后相同 斜体 文件夹中文件不同,但使用文本过滤器的话,文件是相同的。
修改过 蓝色粗体 比较的文件夹中这些文件不同。
新建 绿色粗体 该文件/文件夹在这个目录中存在,但其它目录中没有。
缺失 置灰文本,删除线 该文件/文件夹在这个目录中不存在,在在其它某个目录中存在。
错误 黄色背景的红色粗体 比较文件时发生错误,最常见错误原因是文件权限(例如,Meld 无法打开该文件)和文件名编码错误。

Meld 默认会列出比较文件夹中的所有内容,即使这些内容没有任何不同。当然,你也可以在工具栏中单击相同Same按钮设置 Meld 不显示这些相同的文件/文件夹 —— 单击这个按钮使其不可用。

图片 13

same button

图片 14

Meld compare buttons

下面是单击 相同Same 按钮使其不可用的截图:

图片 15

Directory Comparison without same files

这样你会看到只显示了两个文件夹中不同的文件(新建的和修改过的)。同样,如果你单击 新建New 按钮使其不可用,那么 Meld 就只会列出修改过的文件。所以,在比较文件夹时可以通过这些按钮自定义要显示的内容。

你可以使用工具窗口显示区的上下箭头来切换选择是显示新建的文件还是修改过的文件。要打开两个文件进行分栏比较,可以双击文件,或者单击箭头旁边的 比较Compare按钮。

图片 16

meld compare arrow keys

提示 1:如果你仔细观察,就会看到 Meld 窗口的左边和右边有一些小条。这些条的目的是提供“简单的用颜色区分的比较结果”。对每个不同的文件/文件夹,条上就有一个小的颜色块。你可以单击每一个这样的小块跳到它对应的文件/文件夹。

提示 2:你总可以分栏比较文件,然后以你的方式合并不同的文件,假如你想要合并所有不同的文件/文件夹(就是说你想要一个特定的文件/文件夹与另一个完全相同),那么你可以用 复制到左边Copy Left和 复制到右边Copy Right 按钮:

图片 17

meld copy right part

比如,你可以在左边的分栏中选择一个文件或文件夹,然后单击 复制到右边Copy Right 按钮,使右边对应条目完全一样。

现在,在窗口的下拉菜单中找到 过滤Filters 按钮,它就在 相同Same、新建New 和 修改的Modified 这三个按钮下面。这里你可以选择或取消文件的类型,告知 Meld 在比较文件夹时是否显示这种类型的文件/文件夹。官方文档解释说菜单中的这个条目表示“执行文件夹比较时该类文件名不会被查看。”

该列表中条目包括备份文件,操作系统元数据,版本控制文件、二进制文件和多媒体文件。

图片 18

Meld filters

前面提到的条目也可以通过这样的方式找到:浏览->文件过滤。你可以通过 编辑->首选项->文件过滤 为这个条目增加新元素(也可以删除已经存在的元素)。

图片 19

Meld preferences

要新建一个过滤条件,你需要使用一组 shell 符号,下表列出了 Meld 支持的 shell 符号:

通配符 匹配
* 任何字符 (例如,零个或多个字符)
? 一个字符
[abc] 所列字符中的任何一个
[!abc] 不在所列字符中的任何一个
{cat,dog} “cat” 或 “dog” 中的一个

最重要的一点是 Meld 的文件名默认大小写敏感。也就是说,Meld 认为 readme 和 ReadMe 与 README 是不一样的文件。

幸运的是,你可以关掉 Meld 的大小写敏感。只需要打开 浏览 菜单然后选择 忽略文件名大小写 Ignore Filename Case 选项。 图片 20

Meld ignore filename case

 

安装 Meld

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

  1. sudoapt-get install meld

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

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

  1. ~/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 比较文件夹很容易呢 —— 事实上,我认为它相当容易。只有新建一个文件过滤器会花点时间,但是这不意味着你没必要学习创建过滤器。显然,这取决于你的需求。

另外,你甚至可以用 Meld 比较三个文件夹。想要比较三个文件夹时,你可以通过单击 三向比较3-way comparison 复选框。今天,我们不介绍怎么比较三个文件夹,但它肯定会出现在后续的教程中。


via:

作者:Ansh 译者:vim-kakali 校对:jasminepeng

本文由 LCTT 原创编译,Linux中国 荣誉推出

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-05/143395.htm

图片 21

本文由美高梅4858官方网站发布于计算机操作系统,转载请注明出处:系统上的可视化比较与合并工具,比较文件夹

关键词: