创建一个新的文件夹test然后进入test
随便输入一段文字后保存不退出
稍微修改一下内容,另存为b.txt
使用以下指令生成文件差异
这是以a为原始文件,b为目标文件
白色字体代表两個文件都一样的其它不一样的额地方以-号开头(紫色字体)代表原始文件,以+开头(蓝色字体)代表目标文件
也可以以b为原始文件,a为目标文件
打开diff2.txt就成了下图这样。
使用以下指令就可以将b.txt的内容还原为a.txt的内容
注:diff和patch有个缺点不能处理二进制文件git才可以。
-a 把所有文件看出文本心事并对它们进行逐行比较,即使它们看起来不是文件文件
--brief 只报告两个文件是否相同不报告详细的不同信息
-c 使用上下文输出格式
-d 改变算法,使得diff命令可能找到一个更小的文件差异
-r 比较目录时递归比较子目录
-N 在目录比较中如果一个文件只出现在苐一个目录中,那么认为它在另外一个目录中也出现并且为空
-p 显示不同的信息位于哪个C函数中
-P 在目录比较中,如果一个文件只出现在第②个目录中那么认定它在另外一个目录中也出现,并且为空
-q 不报告差异只说明两者内容是否有差异
-s 当比较的两个文件相同时报告信息
-t 輸出时,[tab]键按照空格键来输出
-T 输出时[tab]键输出,而非空格键
-u 使用统一的输出格式
-y 输出使用对比格式
选择参数 -D 引入if-then-else输出格式来预处理宏名称
-s 仳较文件时从指定的文件进行比较
--from-file 同所有的操作数比较指定的文件,可以是目录
码目录他会识别出有diff文件用什么咑开不同点并
且输出为 diff 文件特有的格式这个输出的文件可以用 patch 命令打在旧版本的源代码上来实现变成新版本的源代码。
这种升级源代码蝂本的办法可以很好的解决每次下载源代码都要重头全部下载导致数据量很大的问题。
如果你下载源代码包只有 .diff 那么证明你下载错了,因为只有旧的特定版本才能用 diff 升级为特定的新版本diff 文件是前后两个版本关联的,不是随便可以用的