patch檔案的製作與使用

fengye106143054發表於2012-07-01

建立補丁檔案:

   比如一個工程目錄為project-old/, 修改後的工程目錄為project-new/

   工程中的一個檔案為file-old, 修改後的檔案為 file-new (可以是同名的,利用不同目錄來區別檔案)

利用工程目錄來生成patch: $diff -Naur project-old project-new > name.patch

或者

利用工程檔案來生成patch: $diff -Naur file-old file-new > name.patch

對於目錄層數的一些限制

 

使用 --exclude=.git忽略.git資料夾下的檔案改變

$diff -Naur --exclude=.git file-old file-new > name.patch

 

使用補丁檔案

      將補丁檔案和name.patch 和工程目錄project-old/ 放在同一目錄

      打補丁命令如下:

        $cd project-old/ 

        $patch -p1 < ../name.patch      //命令在project-old/ 中執行

 

diff options:

     -N  --new-file
              Treat absent files as empty.

 

      -a  --text
              Treat all files as text.

 

      -u  -U NUM  --unified[=NUM]
              Output NUM (default 3) lines of unified context.

 

       -r  --recursive
              Recursively compare any subdirectories found.

相關文章