国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

使用 Linux 的 diff 和 patch 對文件進行協(xié)作

系統(tǒng) Linux
如果你曾經(jīng)試圖通過電子郵件或聊天來協(xié)作處理文件,并且發(fā)現(xiàn)自己試圖描述需要修改的地方,那么你會喜歡 diff 和 patch 的。

[[438039]]

如果你曾經(jīng)試圖通過電子郵件或聊天來協(xié)作處理文件,并且發(fā)現(xiàn)自己試圖描述需要修改的地方,那么你會喜歡 diff 和 patch 的。

我編輯過很多文本文件。有時是代碼。其他時候是角色扮演游戲(RPG)、編程書籍或一般信件的書面文字。有時候,做一個修改,而能讓我的協(xié)作者把我的修改和他們原來寫的東西進行比較就更好了。許多人默認使用辦公套件(如 LibreOffice)的注釋或更改跟蹤功能。不過有時更簡單的工具更有意義,為此,你可以看看像 diff 和 patch 這樣的工具的編程歷史,它們?yōu)楦櫤蛻霉蚕砦募淖兓峁┝藰藴驶母袷健?/p>

即使對于簡單的文件,在同步兩個文件時也有復雜性。一些項目被改變,另一些被保留,新的內(nèi)容被添加,還有一些保持不變,但被移到文件的不同位置。如果接受所有的變化,并且用新文件替換舊文件,就很難復制變化。它也是整體不透明的。如果變化很多,就很難挑出到底發(fā)生了什么變化。

通過 diff 命令,你可以創(chuàng)建一個文件變化的記錄,通過 patch 你可以在舊版本上“重放”這些變化,使其與新版本保持一致。

設置

假設你和我正在合作編寫一個描述如何泡茶的文件。

到目前為止,文件 tea.md 包含原始的復制粘貼來的內(nèi)容:

  1. 燒開水。
  2. 加熱茶壺。
  3. 在茶壺中加入茶和水。
  4. 在茶壺上放置一個茶葉濾網(wǎng)。
  5. 浸泡 6 分鐘。
  6. 將茶倒入杯中。
  7. 加入牛奶。

這似乎很合理,但總有一些優(yōu)化可以做,所以你把文件發(fā)給我改進。為了澄清泡茶過程,我把文件復制為tea-revision.md,并進行編輯,最后是這樣的:

  1. 在烤箱的抽屜中加熱茶壺。
  2. 燒開水。
  3. 將茶葉放入茶葉濾網(wǎng)。
  4. 將濾網(wǎng)和水加入茶壺。
  5. 浸泡 6 分鐘。用茶壺罩保溫。
  6. 將茶倒入杯中。
  7. 可以選擇加入溫牛奶。

正如預期的那樣,一些項目(“燒開水”和“將茶倒入杯中”)沒有變化,而其他行(“加熱茶壺”)則有增加。有些行是全新的,有些行是相同的,但順序不同。

創(chuàng)建一個差異

diff 工具會顯示兩個文件之間的差異。有幾種不同的方法來查看結(jié)果,但我認為最清楚的是 —unified(簡寫為 -u)視圖,它顯示哪些行被增加或減少了。以任何方式改變的行都被視為先減后增的行。默認情況下,diff 將其輸出打印到終端。

向 diff 提供舊文件,然后是新文件:

  1. $ diff --unified tea.md tea-revised.md 
  2. --- tea.md      2021-11-13 10:26:25.082110219 +1300
  3. +++ tea-revised.md      2021-11-13 10:26:32.049110664 +1300
  4. @@ -1,7 +1,7 @@
  5. +在烤箱的抽屜中加熱茶壺。
  6. 燒開水。
  7. -加熱茶壺。
  8. -在茶壺中加入茶和水。
  9. -在茶壺上放置一個茶葉濾網(wǎng)。
  10. -浸泡 6 分鐘。
  11. +將茶葉放入茶葉濾網(wǎng)。
  12. +將濾網(wǎng)和水加入茶壺。
  13. +浸泡 6 分鐘。用茶壺罩保溫。
  14.  將茶倒入杯中。
  15. -加入牛奶。
  16. +可以選擇加入溫牛奶。

行首的加號(+)表示在舊文件中增加了一些內(nèi)容。行首的減號(-)表示被刪除或改變的行。

用 diff 創(chuàng)建一個補丁

補丁文件就是將 diff —unified 命令的輸出放到一個文件中。你可以用標準的 Bash 重定向來做這件事:

  1. $ diff -u tea.md tea-revised.md > tea.patch

該文件的內(nèi)容與輸出到終端的內(nèi)容完全相同。我喜歡在 Emacs 中查看補丁文件,它對每一行進行顏色編碼,取決于它是被添加還是被減去。

 

Emacs中的補丁文件

用補丁應用修改

一旦我有了補丁文件,我就可以把它發(fā)給你,讓你審查,并且可以選擇應用到你的舊文件中。你可以用 patch 命令來應用一個補丁。

  1. $ patch tea.md tea.patch

增加了一些行,減少了一些行,最后,你得到了一個與我的版本相同的文件:

  1. $ cat tea.md
  2. 在烤箱的抽屜中加熱茶壺。
  3. 燒開水。
  4. 將茶葉放入茶葉濾網(wǎng)。
  5. 將濾網(wǎng)和水加入茶壺。
  6. 浸泡 6 分鐘。用茶壺罩保溫。
  7. 將茶倒入杯中。
  8. 可以選擇加入溫牛奶。

你可以給一個文件打多少次補丁,這是沒有限制的。你可以對我的修改進行迭代,生成一個新的補丁,然后發(fā)給我審核。發(fā)送修改內(nèi)容而不是結(jié)果,可以讓每個貢獻者審查修改的內(nèi)容,決定他們要保留或刪除的內(nèi)容,并準確地記錄過程。

安裝

在 Linux 和 macOS 上,你已經(jīng)有了 diff 和 patch 命令。在 Windows 上,你可以通過 Cygwin 獲得 diff 和 patch,或者使用 Chocolatey 搜索 diffutils 和 patch

如果你曾經(jīng)試圖通過電子郵件或聊天來協(xié)作處理文件,并且發(fā)現(xiàn)自己需要 描述 需要修改的地方,那么你會喜歡 diff 和 patch。一個結(jié)構(gòu)嚴謹?shù)奈募绱a或以行為單位的 Markdown,很容易進行差異比較、補丁和維護。 

責任編輯:龐桂玉 來源: Linux中國
相關(guān)推薦

2021-12-23 15:23:42

diffpatchLinux

2018-09-12 15:10:10

2023-12-13 13:47:00

Linux重組文件

2009-12-24 10:12:02

Linux查看文件編碼

2010-03-05 09:40:08

Python遞歸

2017-06-01 15:30:32

LinuxVim文件加密

2016-12-14 09:24:42

文件目錄壓縮

2017-08-01 17:34:47

Linux內(nèi)核驅(qū)動文件讀寫

2011-10-27 14:15:05

Java 7

2010-03-18 16:38:39

Linux命令

2021-06-22 10:30:42

Linuxpushdpopd

2016-12-08 15:12:24

GnupgLinux加密

2010-04-30 11:22:23

Unix系統(tǒng)

2022-10-08 08:36:02

UbuntuLinux語音識別

2010-07-01 10:20:41

SQL Server

2022-08-17 12:35:26

Linux sed編輯器

2022-11-07 07:04:25

2022-05-09 08:55:58

Linuxdiff命令

2013-11-26 11:08:23

Linux命令diff

2021-09-21 15:44:02

LinuxOBSWayland
點贊
收藏

51CTO技術(shù)棧公眾號

亚洲一区区二区| 国产视频欧美| 在线成人小视频| jizzjizzxxxx| 激情综合电影网| 69视频在线免费观看| 亚洲插插视频| 欧美日韩精品一区二区三区四区| 欧美一级视频免费看| 三级在线观看一区二区 | 在线视频观看你懂的| 91麻豆精东视频| 精品视频在线观看一区二区| 亚洲免费高清| 欧洲一区二区在线观看| 亚洲精品麻豆| 久久久福利视频| 亚洲国产美女| 欧美高清性xxxxhdvideosex| 欧美日本在线| 亚洲最大的av网站| 国产黄色大片在线观看| 欧美在线高清视频| 大胆av不用播放器在线播放 | www.久久撸.com| 91精品国产一区二区在线观看| 精品黑人一区二区三区久久| 1区2区3区在线视频| 亚洲欧美日韩国产成人| 日韩三级网址| 亚洲mm色国产网站| 日本女人一区二区三区| 蜜臀av性久久久久蜜臀av| 久久亚洲二区三区| 午夜成在线www| 7777精品伊人久久久大香线蕉最新版| 麻豆av在线免费观看| 久久精品人人做人人爽| 国语产色综合| 欧美一区二区三区电影在线观看 | 国产日本一区二区| 免费a级毛片在线观看| 亚洲国产精品yw在线观看| vam成人资源在线观看| 91香蕉国产在线观看| 国产一区二区免费在线| 欧美xx网站| 怡红院精品视频| 在线看片不卡| 一级特黄性色生活片| 色综合久久久久综合体| 久久不卡日韩美女| 欧美国产精品va在线观看| 亚洲激情自拍| 免费黄视频网站| 中文字幕自拍vr一区二区三区| 欧美激情一级片一区二区| 久久精品午夜福利| 制服丝袜激情欧洲亚洲| 国产欧美一区| 免费大片在线观看| 亚洲精品久久久久中文字幕欢迎你 | 国产欧美日韩免费| 日产国产欧美视频一区精品| 黑森林国产精品av| 日本亚洲欧洲色| 国产九九视频一区二区三区| 婷婷丁香六月天| 日韩一区二区欧美| 久久爱www久久做| 最新在线观看av| 性色av香蕉一区二区| 韩国三级在线一区| 国产黄色小视频在线| 国产精品久久久久久久久免费看 | 日韩福利电影在线| 日韩欧美亚洲系列| 国产一区二中文字幕在线看 | 成人午夜免费在线| 亚洲欧美日韩高清| www.亚洲免费av| 中文字幕日韩高清在线| 欧美日韩国产在线看| 亚洲大奶少妇| 亚洲欧美久久久久| 国产精品电影久久久久电影网| 久久精品一区八戒影视| 动漫av一区| 神马久久久久| 欧美精品久久久| 在线观看欧美成人| 亚洲欧美一区二区不卡| 欧美+日本+国产+在线a∨观看| www.午夜精品| 成人a'v在线播放| 91九色porny在线| 国产一区二区免费在线观看| 欧美xingq一区二区| 亚洲麻豆视频| 在线观看涩涩| 黄网视频在线观看| 国产脚交av在线一区二区| 亚洲欧美在线视频观看| 久久99性xxx老妇胖精品| 亚洲视频专区在线| 国产一区二区三区日韩| 香蕉一区二区| 成人黄色动漫| 国产精品18久久久久久麻辣| 欧美乱妇15p| 日本少妇一区二区| 成人午夜一级| av色图一区| 国产精品久久久久久精| 日本一区二区在线视频观看| 欧美国产日韩在线| 亚洲精品97久久| 亚洲成人1区2区| 久久久亚洲精品一区二区三区| 亚洲视频综合| 一个色免费成人影院| 欧美三级理论片| 欧美电影在线观看完整版| 中文字幕在线免费专区| 美女少妇一区二区| 蜜桃视频一区二区在线观看| 国产另类自拍| 成人黄色av播放免费| 97精品国产91久久久久久| 中文国产成人精品久久一| 亚洲电影免费观看| 欧美久久婷婷综合色| 99色在线视频| 中国一级黄色录像| 加勒比在线一区二区三区观看| 国产精品中文字幕在线| 国产精品 欧美在线| 精品伊人久久97| www 日韩| 美女无遮挡网站| 好男人社区在线视频| 九七影院97影院理论片免费| 亚洲美女av在线播放| 欧美性色黄大片| segui88久久综合9999| 狼人综合视频| 国精品产品一区| 黑色丝袜福利片av久久| 国产aa精品| 精品国产一区一区二区三亚瑟| 极品美女一区二区三区| 日韩精品一区二区三区免费观影 | 24小时成人在线视频| 国产一区二区精品久| 欧美日本不卡高清| 蜜乳av一区二区| 国产日产欧美一区| 欧美亚洲国产一区二区三区va| 精品国产免费久久| 久久这里有精品视频| 99久久久久国产精品免费| 在线日韩av永久免费观看| 日本成人免费| 美女的胸无遮挡在线观看| 欧美人与拘性视交免费看| 加勒比视频一区| 欧美视频精品在线| 欧美精品一区二区三区在线| 色偷偷综合社区| 国产精品视频yy9099| 色阁综合av| 天堂av免费观看| 亚洲区小说区图片区qvod按摩| 成人6969www免费视频| 日日夜夜精品视频免费| 专区另类欧美日韩| 亚洲精品videossex少妇| 欧美一级片久久久久久久| 视频一区亚洲| 手机亚洲第一页| 亚洲视频自拍| 蜜桃一区二区三区在线观看| 亚洲一二三四在线观看| 欧美va亚洲va在线观看蝴蝶网| 欧美视频免费在线观看| 日韩电影在线观看中文字幕| 91在线中文字幕| 羞羞的视频网站| 伊人精品综合| 成人一级黄色片| 在线精品视频免费观看| 9.1国产丝袜在线观看| 久久99久久久久久| 忘忧草在线日韩www影院| 在线综合亚洲| 欧美日韩黄视频| 国产精品区一区二区三含羞草| 国产视频精选在线| 亚洲美女黄网| 欧美成人三级在线|