diff和patch 打补丁
2024-08-30 16:46:52
在Linux环境下,有两个工具用来给project打补丁,即diff和patch
diff
diff具有比较功能。可以使用man命令查看其使用方法。
NAME
diff - compare files line by line
SYNOPSIS
diff [OPTION]... FILES
常用选项:
-r 是一个递归选项
-N 确保命令正确执行,文件不存在视为空
-u 使用统一格式
patch
patch 用来打补丁。
NAME
patch - apply a diff file to an original
SYNOPSIS
patch [options] [originalfile [patchfile]]
but usually just
patch -pnum <patchfile
-pnum:
-p0 根据补丁中完整路径查找要打补丁的文件
-p1忽略第一层目录
……
简单的例子
源文件
./file1.c
#include <stdio.h>
int main()
{
printf("This is version 1!\n");
return 0;
}
新文件:
./file2.c
#include <stdio.h>
int main()
{
printf("This is version 2!\n");
return 0;
}
比较两个文件,生成patch
$ diff -uN file1.c file2.c >> file.patch
打上补丁:
$ patch -p0 < file.patch
此时file1.c的内容变变成file2.c的内容
如果两个文件在不同目录,比如一个在remote,一个在local目录
则
$ diff -uN Remote/file1.c Local/file2.c >> file.patch
//在file.patch目录下
$ patch -p0 < file.patch
最新文章
- windows和linux中搭建python集成开发环境IDE——如何设置多个python环境
- asp.net初识
- composer快速入门
- 关于ifram之间的相互调用
- 牛顿方法(Newton-Raphson Method)
- SQL Server:查询当前服务器有多少连接请求
- CentOS上安装Node.js
- routing decisions based on paths, network policies, or rule-sets configured by a network administrator
- Scala下载安装配置(Mac)
- 学习笔记_JDBC_1_Demo1_连接数据库的基本操作和步骤
- django FileFIeld和ImageField 上传路径改写
- Oracle小技术集锦
- 解决axios传递参数后台无法接收问题
- Viewer.js插件浏览图片
- atom介绍
- Mybatis中#和$区别(带脑图)
- Apache Derby数据库 安装、知识点
- 什么是Docker并且它为什么这么受欢迎
- 基于聚类的“图像分割”(python)
- SpringMVC笔记——SSM框架搭建简单实例