补丁介绍
顺带说一下“补丁”,一个“补丁”指的是文件之间一系列差异,这些差异能被Unix的 diff 程序应用在源代码树上。使用 diff 工具来创建“差异”(或“补丁”),然后使用该工具将它们 “打” 在一个没有这个补丁的同样的源代码版本上。diff用法及输出如下:
$ diff -Naur file1 file2
输出如下:
--- a.txt 2018-11-15 17:15:30.082291260 +0800
+++ b.txt 2018-11-15 17:15:40.643524171 +0800
@@ -1,4 +1,5 @@
hello
-
-xuguangmin
+nihao
+xuguangin
world
+
三个 “---” 显示了原来文件的名字;任何在原文件里存在而在新文件里不存在的行将会用前缀“ -”,用来表示这些行被从源代码里“减去”了。而 “+++” 表示在新文件里被加上的行会被放上前缀 “+”,表示这是在新文件里被“加上”的行。补丁文件中的每一个补丁“块”(用 @@ 作为前缀部分)都有上下文的行号,这能帮助补丁工具知道在代码的哪里应用这个补丁块。补丁打法如下:
$ diff -Naur file1 file2 >mypatchfile.patch // 生成补丁
$ patch -p1 < ../file.patch // 打补丁