本指南提供了将补丁应用到程序或文件的基本概述。
用于应用修补程序的命令是修补程序命令,但为了应用修补程序,diff命令也需要用于提供需要修补的差异。
为什么你会创建一个补丁
想象一下你有一个HTML文件 ,如下所示:
HEAD>
欢迎使用MySite h1>
BODY>
HTML>
上述源文件加载到Web浏览器时将显示“欢迎使用MySite”。
编程时需要多个版本的同一个文件。 例如,有一个版本是当前的活动版本,开发分支上会有另一个版本,可能包含多个更改,最后可能会在发布分支上有另一个版本。
发布分支将是真实用户使用的版本(即,在这种情况下,MySite网站的访问者)。 让我们说MySite是在1.0版本。 在开发阶段之后,您将创建一个发布分支,在这种情况下将为1.1。 开发分支可能会在发布分支之前,因为它可能包含版本1,2中未发布的更改,但是版本1.1将包含这些更改。
想象一下,有一个MySite应该被称为YourSite的错误。 您可以依次前往每个分支,并对实时版本,开发版本和发行版本进行更改,以便将更改作为实时热修复,然后将补丁应用于开发和发布分支。
一个工作示例
使用下面的代码创建一个名为myfile.html的文件:
HEAD>
欢迎使用MySite h1>
这是修补源代码的一个有效的例子。 p>
BODY>
HTML>
使用下面的代码创建另一个名为myfile_v2.html的文件:
HEAD>
欢迎使用您的网站 h1>
这是修补源代码的一个有效的例子。 p>
BODY>
HTML>
第一个文件是标题为“Welcome to MySite”的原始网页。 第二个文件与第一个文件相同,只是MyFile在文本中重命名为YourFile。
如何创建差异文件
为了创建补丁,我们需要计算myfile.html和myfile_v2.html之间的差异。
我们可以用diff命令来做到这一点,如下所示:
diff -u myfile.html myfile_v2.html> myfile.patch
您可以按如下方式在nano编辑器中打开myfile.patch文件,以便查看它:
nano myfile.patch
蓝色显示未更改的行。 已删除的行显示为红色,已添加的行显示为绿色。
如何使用补丁命令应用补丁
要将修补程序应用于myfile.html,请使用以下命令:
补丁 这会将使用diff命令创建的更改应用到原始文件myfile.html。 如果您想恢复该修补程序,以使myfile.html恢复到原来使用以下命令的方式: patch -R patch命令可用于在整个目录结构中应用修补程序。 有比补丁命令更好的工具来创建补丁和确保良好的源代码控制。 有这么多的开发项目使用GIT进行源代码控制是有原因的。 GIT可以轻松创建一致的分支策略。 补丁命令可以将差异应用于bash脚本或简单的东西,但您可以轻松地创建要修补的文件的备份副本,并将新文件简单地复制到同一位置。 有关更多信息,请使用man命令: 人补丁 如何恢复补丁
概要