歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> Linux diff and patch

Linux diff and patch

日期:2017/3/1 17:02:52   编辑:關於Linux

Linux diff and patch diff的選項挺多,但這裡只介紹最常用的三個,其他的,還是看man diff吧: -r: 遞歸比較文件夾下的文件 -N: 如果某個比較的文件為不存在,則視為空文件 -u: unified,diff的結果進行格式化輸出(可讀性更好) www.2cto.com 所以,diff的一般用法是: diff -Nur old_version new_version >> mods.diff patch使用diff文件的輸出,所以兩者總是配對使用。但patch不僅可以支持diff產生的輸出,也可使用svn/git等工具生成的diff。 patch的三個常用選項: -p NUM: 產生的diff文件,包含diff時使用的to-file(上面的old_version)的path,path有層級,比如:/myproject/model/people/profile.py,但這個path不總是正確,因為diff文件的位置是可以移動的,比如,在/目錄,按照path去打patch沒有問題,但把diff文件保存在/myproject目錄下,則找不到/myproject/model/people/profile.py這個路徑了。這個-p屬性就是用來去掉path中斜槓(/)的數量。默認情況下,path是profile.py。-p1:myproject/model/people/profile.py。-p2:model/people/profile.py。-p3: people/profile.py。-p4: profile.py。所以patch -p0 和patch是不一樣的,注意了。 -R: 即--reverse,打過patch,如果想要取消,則加上此選項 -b: 給打patch的文件進行備份,比如要對profile.py文件打patch,打完之後發現會多一個hello.py.orig文件 patch的一般用法: patch -pNUM < patchfile,NUM視具體情況而定。
Copyright © Linux教程網 All Rights Reserved