前言
在linux中,在工程实践中。
自己基于文件1进行了修改,得到文件2,文件1有线上仓库。时常会遇到以下两种情景:
- 由于文件过大,直接向组员分享文件2很麻烦。
- 由于修改地方过多,每次更换环境都需要重新修改文件1从而得到文件2,很麻烦。
总之,这篇文章记录一下如何制作一个patch,方便记录两个文件的差异。
创建情景
制作patch,指的是生成一个patch文件,记录folder1和folder2的区别。
制作patch
进入包含folder1和folder2这两个文件夹的上级目录。
运行diff -urN folder1 folder2 > my_changes.patch。
-u
参数表示使用 Unified 形式的输出,这使得补丁文件更易于阅读和理解。-r
参数表示递归地比较目录及其子目录。-N
参数表示新文件(在一个目录中但在另一个目录中不存在)也会被包含在比较中。
从而生成patch文件。
应用patch
因为folder2是根据folder1修改得来的,故,我们进入folder1。
运行patch -p1 < ../my_changes.patch。
此时,folder1的内容,已经修改为了folder2。