diff文件和patch文件使用
简述
顾名思义,diff是差异的意思,patch是补丁的意思,合起来理解就是根据差异进行打补丁。
应用场景
补丁patch这中方式在大型的项目中比较常见,一个需求需要对多个模块进行修改,比如一个项目中有module1......module9九个模块,module1上有文件修改了,需要在其它模块上进行验证(本地进行验证,代码未提交),这时比较方面快捷的方式就是生成一个patch文件,发给相应模块的开发人员进行验证。
补丁生成及使用
OK,进入正题,本地模仿演示下patch的生成及使用方法,我在本地新建了test文件夹,里面又创建了三个文件夹,其中source1:表示module1
source2:表示module1修改后的文件(对于加入版本管理的文件不需要source2)
other:表示需要验证的其它模块
source1文件夹中有个file1.test文件,文件内容如下
现在我们对这个文件进行修改,并将修改后的文件放到source2文件夹下面(对于加入版本管理的文件不需要移动文件),修改后如下:
下一步使用diff命令查看修改前后的差异,直接使用diff比较不太容易理解,加入参数后比较容易看(LCTT 译注:参数 -N
代表如果比较的文件不存在,则认为是个空文件, -a
代表将所有文件都作为文本文件对待,-u
代表使用合并格式并输出上下文,-r
代表递归比较目录),下面是加参数和未加参数输出比较:
上面输出我们可以看出对文件进行了哪些修改,其中---表示修改前的文件,+++表示修改后的,-表示删除了该行,+表示增加了该行。
生成patch
$ sudo diff -Naur source1/file1.test source2/file1.test > file.patch
运行命令后在当前路径下生成了file.patch文件,文件内容就是通过diff查看到的内容。到此完成了patch的生成,其实很简单,就是将修改前后的差异(diff)保存到文件中,这个文件就是补丁patch。
接下来我们就把补丁发给其它模块的开发人员小王,小王负责other模块(就是上面的other文件夹),小王本地代码也有module1的代码,是未修改的,小王要把补丁应用起来就需要在相应路径(对照patch文件中file1.test路径)下运行
sudo patch -p1 <../file.patch
成功之后,小王本地代码中的file1.test文件也同步了patch中的修改,就可以进行验证了。
注:对于加入版本管理(git等)的文件,修改后的文件会有状态记录,直接diff单个文件就行了。
很简单的点,无聊写下来记录。
diff文件和patch文件使用相关推荐
- Git diff 生成patch文件
通过git diff 命令生成patch文件 1.还未提交的修改 命令 :git diff > commit.patch 2.已提交的修改 先用git log命令查看commit id soft ...
- 使用和制作patch文件
使用和制作patch文件 发表时间: 2007-2-13 20:57 作者: superuser 来源: 迷茫人 字体: 小 中 大 | 打印 原文http://www.linuxsir. ...
- 如何制作LINUX的patch文件及如何打patch
如何制作LINUX的patch文件及如何打patch 对某个版本的Linux内核做了修改以后,如果希望发布出去给别人用,那么就需要制作针对此版本的patch文件. patch文件也叫补丁,就是一个文本 ...
- 用diff 生成patch文件的命令/方法
linux diff命令 diff命令可以比较两个相同文件进而生成patch文件 使用如下命令获得命令的帮助 didff --help 使用以下option -u, -U NUM, --unified ...
- diff linux文件夹patch,diff 文件差异和patch打补丁工具
一.操作文件说明 1.原始文件word1 文件内容如下: 再别康桥 徐志摩 轻轻的我走了, 正如我轻轻的来: 我轻轻的招手, 作别西天的云彩. ... . 2.目标文件word2 文件内容如下: 再别 ...
- linux下比较文件并输出,Linux使用diff命令比较文件找出文件之间相同的部分
如果你需要比较系统文件的内容,那么你就会是使用到diff命令,可找出文件之间相同的部分,下面小编就给大家详细介绍下Linux diff命令的用法. diff 命令是 linux上非常重要的工具,用于比 ...
- diff 比较两个文件的差异
功能:比较两个文件的差异,并把不同地方的信息显示出来.默认diff格式的信息. diff比较两个文件或文件集合的差异,并记录下来,生成一个diff文件,这也是我们常说的补丁文件.也使用patch命令对 ...
- u-boot的patch文件制作
首先明白为什么要制作patch文件,因为u-boot的移植过程需要根据实际需要修改通用u-boot,如果每次手工修改的话,太麻烦,所以用了patch文件一步到位,这点类似于makefile的作用,哈哈 ...
- 【转贴】使用和制作patch文件
今天上QQ的时候发现eva不能用了,后来又看到了解决方法,所以想打个补丁,不过不会:-).后来查了查明白了,写了个总结,分享一下,也不知道以前有 没有这方面的东西,希望我这个不是多余的. 创建补丁文件 ...
最新文章
- 解决博客园模版错误排版的一个问题
- Web前端三剑客之CSS基础
- Python进行数据分析—可视化之seaborn
- springboot 之 webscoket 服务端推送
- 动态创建标记+css_dom+js动态效果
- 为什么不能在子类的初始化列表里初始化父类的成员
- 20150303+JQuery选择器-02
- ZZULIOJ 1114: 逆序
- Filter过滤器概念及生命周期
- 视觉slam十四讲 第二版 pdf_第二版SLAM上帝视角,它来啦!!!
- 刻录cd(不同系统的方式)
- Python 数值四舍五入碰到遇5不进
- centos pptp client 配置
- arch配置之百度网盘
- python pandas dataframe 不显示索引_Python DataFrame 设置输出不显示index(索引)值的方法...
- 如何顺利获得美国工作签证
- 【ant design vue】 生成表格序号
- 支付必测--使用fiddler篡改支付金额
- Windows10系统开机内存占有率超50%的原因
- UI自动化测试AutoIT工具使用