假设一个人A写了main.c程序之后,把代码发给另外一个人B,B写了程序之后激此弯,再把代码合入到自己的当中,但是A只想把B的差异部分合入到自己的明闷代码当中,在这种情况之下可以通过扒搏diff命令生成差异文件,在合入到自己的代码当中。
代码结构:
A编写的test1/main.c
B编写的test2/main.c
diff 命令生成差异文件:diff -ruNa test1/main.c test2/main.c >diff.patch
diff.patch内容如下
使用如下命令即可把patch合入,合入之后,test1/main.c的内容跟test2/main.c的一样
diff命令在最简单的情况下,比较给定的两个文件的不同。如果使用“-”代替“文件”参数,则要比较的内容将来自标准输入。diff命令是以逐行的方式,比较文本文件的异同处。如果该命令指定进行目录的比较,则将会比较该目录中具有相同文件名的文件,而不会对其子目录文件进行任何比较 *** 作。下面是linuxdiff命令的具体介绍:
diff(diff即different简写)命令用于比较文件的差异。
选项:
-
-a或——text:diff预设只会逐行比较文本文件
-b或_ignore-space-change:不检查空格字符的不同
-B或_ignore-blank-lines:不检查空白行
-c:显示全部内容,并标出不同之处
-C
-d或——minimal:使用不同的演算法,以小的单位来做比较
-D
-e或——ed:此参数的输出格式可用于ed的script文件
-f或-forward-ed:输出的格式类似ed的script文件,但按照原来文件的顺序来显示不同处
-H或_speed-large-files:比较大文件时,可加快速度
-l
-i或_ignore-case:不检查大小写的不同
-l或——paginate:将结果交由pr程序来分物棚页
-n或——rcs:将比较结果以RCS的格式来显示
-N或_new-file:在比较目录时,若文件A仅出现在某个目录中,预设会显示:Onlyin目录,文件A若使用-N参数,则diff会将文件A与一个空白的文件比较
-p:若比较的文件为C语言的程序码文件时,显示差异所在的函数名称
-P或_unidirectional-new-file:与-N类似,但只有当第二个目录包含了第一个目录所没有的文件时,才会将这个文件与空白的文件做比较
-q或_brief仅显示有无差异,不显示详细的信息
-r或——recursive:比较子目录中的文件
-s或_report-identical-files:若没有发现任何差异,仍然显示信息
-S
-t或_expand-tabs:在输出时,将tab字符展开
-T或_initial-tab:在每行前面加上tab字符以便对齐
-u,-U
-v或——version:显示版本信息
-w或_ignore-all-space:忽略全部的空格字符
-W
-x
-X
-y或_side-by-side:以并列的方式显示文件的异同之处
_help:显示帮助
_left-column:在使用-y参数时,若两个文件磨猛某一行内容相同,则仅在左侧的栏位显示该行内容
罩游则 _suppress-common-lines:在使用-y参数时,仅显示不同之处。
以上就是今天的分享了,希望可以帮助到大家。
本文章基于thinkpadE15品牌、centos7系统撰写的。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)