糖尿病康复,内容丰富有趣,生活中的好帮手!
糖尿病康复 > 中文补丁linux 忽略 Linux 制作补丁 打补丁 撤销补丁

中文补丁linux 忽略 Linux 制作补丁 打补丁 撤销补丁

时间:2018-10-17 15:51:05

相关推荐

中文补丁linux 忽略 Linux 制作补丁 打补丁 撤销补丁

1、制作补丁

diff -逐行比较文件

格式

diff 参数 旧文件/旧文件夹 新文件/新文件夹

-N 将不存在的文件看作是空的

-a 将所有文件都视为文本文件

-u 以合并的方式来显示文件内容的不同

-r 以递归地方式比较所有子目录

//比较Test2在Test1版本上的更新并输出

diff -Naru Test1 Test2//比较Test2在Test1版本上的更新并输出到文件diff.patch

diff -Naru Test1 Test2 > diff.patch

aaron@build:~/test$ cat 1.c12345

67890abcdefg

hijklmn

opq

rst

uvw

xyz

aaron@build:~/test$ cat 2.c12345

67908abcdefg

ABCDEFG

hijklmn

oq

rst

UVW

xyz

aaron@build:~/test$ diff -Naru 1.c 2.c--- 1.c -03-05 02:14:03.687450043 -0500

+++ 2.c -03-05 02:17:19.867441496 -0500@@-1,8 +1,9@@12345

-67890 //删除此行

+67908 //增加此行,等于将67890改为67908

abcdefg+ABCDEFG //新增加

hijklmn-opq+oq

rst-uvw+UVW

xyz

aaron@build:~/test$ diff -Naru 1.c 2.c >diff.patch

aaron@build:~/test$ ls1.c 2.c diff.patch

aaron@build:~/test$ cat diff.patch--- 1.c -03-05 02:14:03.687450043 -0500

+++ 2.c -03-05 02:17:19.867441496 -0500@@-1,8 +1,9@@12345

-67890

+67908abcdefg+ABCDEFG

hijklmn-opq+oq

rst-uvw+UVW

xyz

2、打补丁

patch -将一个diff文件应用到一个原始文件

格式

patch 参数

-b 备份原始文件,打补丁时,会复制或者重命名原始文件来备份

-R 撤销补丁

-p(num) 表示忽略num层路径

diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c

假设补丁头是上面一行

如果使用 -p0,就从 / 目录开始,也就是从 kernel 目录开始;

如果使用 -p1,就从 drivers 目录开始,也就是从 kernel/drivers 目录开始,忽略 kernel 当前目录下的差异文件;

以此类推。

//将上面生成的补丁diff.patch打到1.c上,就和2.c相同

aaron@build:~/test$ cat 1.c12345

67890abcdefg

hijklmn

opq

rst

uvw

xyz

aaron@build:~/test$ patch -bp0

patching file1.c

aaron@build:~/test$ cat 1.c12345

67908abcdefg

ABCDEFG

hijklmn

oq

rst

UVW

xyz

aaron@build:~/test$ ls1.c 1.c.orig 2.c diff.patch //1.c.orig备份文件

aaron@build:~/test$ rm 1.c.orig //确定打补丁成功后删除备份文件

3、撤销补丁

patch -将一个diff文件应用到一个原始文件

格式

patch 参数

-R 撤销已打的补丁

//将上一步打的补丁撤销,还原1.c的初始模样

aaron@build:~/test$ cat 1.c12345

67908abcdefg

ABCDEFG

hijklmn

oq

rst

UVW

xyz

aaron@build:~/test$ patch -Rp0

patching file1.c

aaron@build:~/test$ cat 1.c12345

67890abcdefg

hijklmn

opq

rst

uvw

xyz

如果觉得《中文补丁linux 忽略 Linux 制作补丁 打补丁 撤销补丁》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。