不喜欢 diff 么?试试 Meld 吧
创始人
2024-03-02 04:43:27
0

Meld 是一个可视化 diff 工具,它可让你轻松比较和合并文件、目录、Git 仓库等的更改。

Meld 是我处理代码和数据文件的基本工具之一。它是一个图形化的 diff 工具,因此,如果你曾经使用过 diff 命令并难以理解输出,那么 Meld 可以为你提供帮助。

这是该项目网站的精彩描述:

“Meld 是面向开发人员的可视化 diff 和合并工具。Meld 可以帮助你比较文件、目录和版本控制的项目。它提供文件和目录的双向和三向比较,并支持许多流行的版本控制系统。”

“Meld 可以帮助你检查代码更改并了解补丁。它甚至可以帮助你弄清你一直在避免的合并中发生了什么。”

你可以使用以下命令在 Debian/Ubuntu 系统(包括 Raspbian)上安装 Meld:

$ sudo apt install meld

在 Fedora 或类似产品上:

$ sudo dnf install meld

Meld 是跨平台的,它有一个使用 Chocolately 包管理器的 Windows 安装包。尽管它在 macOS 上不受官方支持,但有可用于 Mac 的版本,你可以使用 Homebrew 安装:

$ brew cask install meld

有关其他系统,请参见 Meld 的主页。

Meld 对比 diff 命令

如果你有两个相似的文件(也许一个是另一个的修改版本),并想要查看它们之间的更改,那么可以在终端中运行 diff 命令查看它们的区别:

diff output

此例显示了 conway1.pyconway2.py 之间的区别。表明我:

  • 删除了释伴和第二行
  • 从类声明中删除了 (object)
  • 为类添加了 docstring
  • 在方法中交换了 aliveneighbours == 2 的顺序

这是使用 meld 命令的相同例子。你可以在命令行中运行以下命令进行相同的比较:

$ meld conway1.py conway2.py

Meld output

Meld 更清晰!

你可以轻松查看并单击箭头(左右都行)合并文件之间的更改。你甚至可以实时编辑文件(在输入时,Meld 可以用作具有实时比较功能的简单文本编辑器)—只是要记得在关闭窗口之前保存。

你甚至可以比较和编辑三个不同的文件:

Comparing three files in Meld

Meld 的 Git 感知

希望你正在使用 Git 之类的版本控制系统。如果是这样,那么你的比较就不是在两个不同文件之间进行,而是要查找当前文件与 Git 历史文件之间的差异。Meld 理解这一点,因此,如果你运行 meld conway.pyconway.py 在 Git 中),它将显示自上次 Git 提交以来所做的更改:

Comparing Git files in Meld

你可以看到当前版本(右侧)和仓库版本(左侧)之间的更改。你可以看到,自上次提交以来,我删除了一个方法,并添加了一个参数和一个循环。

如果你运行 meld .,你将看到当前目录(如果位于仓库的根目录,就是整个仓库)中的所有更改:

Meld . output

你会看到一个文件被修改了,另一个文件未加入版本控制(这意味着它对 Git 是新的,因此在比较之前,我需要 git add 添加该文件),以及许多其他未修改的文件。顶部的图标提供了各种显示选项。

你还可以比较两个目录,这有时很方便:

Comparing directories in Meld

结论

即使是普通用户也会觉得 diff 的比较难以理解。我发现 Meld 提供的可视化在找出文件之间的更改方面有很大的不同。最重要的是,Meld 有一些有用的版本控制认知,可以帮助你在不考虑太多内容的情况下对 Git 提交进行比较。快来试试 Meld,并轻松解决问题。


本文最初发表在 Ben Nuttall 的 Tooling blog 上,并经允许重新使用。


via: https://opensource.com/article/20/3/meld

作者:Ben Nuttall 选题:lujun9972 译者:geekpi 校对:wxy

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

相关内容

马化腾:腾讯唯一花钱投入比...
新理财2026-01-26 17:12:45 在今日召开的腾讯年会...
2026-01-26 21:19:30
前海开源国家比较优势混合A...
AI基金前海开源国家比较优势混合A(001102)披露2025年四...
2026-01-25 06:18:04
让AI自己教自己写代码,会...
你有没有想过这样一个问题:如果把一个AI扔进GitHub的代码海洋...
2026-01-05 18:45:36
媒体人谈周金辉发言:想起一...
直播吧9月5日讯 针对国安俱乐部董事长周金辉在全队座谈中抛出的“谁...
2025-09-05 17:13:39
前海开源国家比较优势混合A...
金融界2025年8月24日消息,前海开源国家比较优势混合A(001...
2025-08-24 15:44:14
前海开源国家比较优势混合A...
金融界2025年7月20日消息,前海开源国家比较优势混合A(001...
2025-07-20 10:42:23

热门资讯

PHP最佳实践(译) 简介PHP是一门复杂的语言,经过多年折腾,使其不同版本之间高度不一致,有时还有些bug。 每个版本都...
值得收藏的 27 个机器学习的... 机器学习 ( Machine Learning ) 有很多方面,当我开始研究学习它时,我发现了各种各...
Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
硬核观察 #885 苹果 AR... 苹果 AR 眼镜被无限期推迟据报道,由于技术上的挑战,苹果公司已经无限期推迟了其轻型增强现实(AR)...
2020 年的 GitHub ... 距离 2020 年结束只剩下区区 24 天,我们即将结束魔幻的 2020 ,迎来新的一年,新的一年或...
开源新闻速递:openSUSE... 今日关注openSUSE 项目组的 Dominique Leuenberger 在他的周报中说:“这...
8 个提升你的隐私防护的开源密... 使用一些顶级开源密码管理器,确保你的登录凭证安全无虞。密码管理器是一项非常有用的实用程序。在你想寻找...
为什么计量 IT 的生产力如此... 在某些行业里,人们可以根据一些测量标准判定一个人的生产力。比如,如果你是一个零件制造商,可以通过一个...
8个有趣的Linux提示与技巧... 我们时不时给你带来关于Linux的提示与技巧。和这个系列保持一致,这里有8个我们从读者收到最有趣的提...
KDE4.11 Beta1 正...   KDE 项目工作组刚刚发布了 KDE Software Compilation 4.11 Bet...