创建补丁文件:
比如一个工程目录为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.