加入收藏 | 设为首页 | 会员中心 | 我要投稿 东莞站长网 (https://www.0769zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

使用 Linux 的 diff 和 patch 对文件进行合作

发布时间:2022-01-14 12:42:08 所属栏目:Linux 来源:互联网
导读:如果你曾经试图通过电子邮件或聊天来协作处理文件,并且发现自己试图描述需要修改的地方,那么你会喜欢 diff 和 patch 的。 我编辑过很多文本文件。有时是代码。其他时候是角色扮演游戏(RPG)、编程书籍或一般信件的书面文字。有时候,做一个修改,而能让我
   如果你曾经试图通过电子邮件或聊天来协作处理文件,并且发现自己试图描述需要修改的地方,那么你会喜欢 diff 和 patch 的。
 
   我编辑过很多文本文件。有时是代码。其他时候是角色扮演游戏(RPG)、编程书籍或一般信件的书面文字。有时候,做一个修改,而能让我的协作者把我的修改和他们原来写的东西进行比较就更好了。许多人默认使用办公套件(如 LibreOffice)的注释或更改跟踪功能。不过有时更简单的工具更有意义,为此,你可以看看像 diff 和 patch 这样的工具的编程历史,它们为跟踪和应用共享文件的变化提供了标准化的格式。
 
  即使对于简单的文件,在同步两个文件时也有复杂性。一些项目被改变,另一些被保留,新的内容被添加,还有一些保持不变,但被移到文件的不同位置。如果接受所有的变化,并且用新文件替换旧文件,就很难复制变化。它也是整体不透明的。如果变化很多,就很难挑出到底发生了什么变化。通过 diff 命令,你可以创建一个文件变化的记录,通过 patch 你可以在旧版本上“重放”这些变化,使其与新版本保持一致。
 
假设你和我正在合作编写一个描述如何泡茶的文件。到目前为止,文件 tea.md 包含原始的复制粘贴来的内容:
 
烧开水。加热茶壶。在茶壶中加入茶和水。在茶壶上放置一个茶叶滤网。浸泡 6 分钟。将茶倒入杯中。加入牛奶。

这似乎很合理,但总有一些优化可以做,所以你把文件发给我改进。为了澄清泡茶过程,我把文件复制为tea-revision.md,并进行编辑,最后是这样的:
 
在烤箱的抽屉中加热茶壶。烧开水。将茶叶放入茶叶滤网。将滤网和水加入茶壶。浸泡 6 分钟。用茶壶罩保温。将茶倒入杯中。可以选择加入温牛奶。

正如预期的那样,一些项目(“烧开水”和“将茶倒入杯中”)没有变化,而其他行(“加热茶壶”)则有增加。有些行是全新的,有些行是相同的,但顺序不同。

(编辑:东莞站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读