当前位置: 首页 > 科技观察

教你在Linux下玩Patch

时间:2023-03-20 22:55:11 科技观察

转载请联系嵌入式Linux系统开发公众号。在项目中,如果你和其他人一起维护一个项目,有时别人会修改一些代码,替换.c文件很麻烦。这时候就需要使用补丁了。别人只需要发一个补丁,你就可以应用了。patch:补丁,用于显示两个文件的差异。制作补丁有两种方式,diff和quilt,本文我们讨论diff。1.创建两个文件,a.c和b.ca.c#includeintmain(){printf("Jason20220116\r\n");return0;}b.c#includeintmain(){printf("Jason20220116\r\n");printf("testdiffpatch\r\n");return0;}2.生成patchdiff-ua.cb.c>test.patch可以看到上图中的test.patch内容,包括修改时间,修改了哪一行,都标示的很清楚。diff比较两个文件的差异并记录下来,称为diffpatch。diff[options]from-fileto-filefrom-file:sourcefileto-file:根据源文件选项修改的文件:-u显示差异行的前后行(context),默认为3行前之后,因此,补丁中的更多信息-p显示有关代码所在的c函数的信息-N选项确保补丁文件将正确处理已创建或删除文件的情况-a逐行比较文本文件-r比较子目录下的文件给两个文件打补丁:需要打补丁的文件a.c和补丁文件test.patch。patch命令如下:patcha.c