有些时候对代码有修改时,可能不方便提交git。
这个时候如果其他同事需要用到你修改的代码时,通常有两种做法:
1、把修改的文件发过去,对方拿比较工具比较差异进行合并
2、提供补丁文件
显然第一种方式不够优雅,且当修改文件较多时,费时且容易出错。
这里主要记录一下linux环境下通过patch和diff命令,打补丁和应用补丁的方法。
制作补丁
假设有两个目录 old 和 new
diff -rNu old/ new/ > patch.patch
patch.patch就是生成的补丁文件
应用补丁
当需要还原时,新建一个目录,将patch文件和old拷贝过去
执行patch -p0 < patch.patch即可
上例子:
1、复制两份一样的目录分别取名字 old 和 new
2、修改new目录下的文件
3、生成补丁(红框部分是我加的修改项)
4、创建一个临时目录,拷贝要应用补丁的目录和补丁文件进去
5、应用补丁
再次比较证明应用成功