git diff的文字说明
-U<n>--unified=<n>
Generate diffs with <n> lines of context instead of the usual three. Implies -p
.
===============================================================================================================
-p-u--patch
Generate patch (see section on generating patches). This is the default.
===============================================================================================================
如果两个文件相似度很高,那么上下文格式的diff,将显示大量重复的内容,很浪费空间。1990年,GNU diff率先推出了"合并格式"的diff,将f1和f2的上下文合并在一起显示。
它的使用方法是加入u参数(代表unified)。
$ diff -u f1 f2
显示结果如下:
--- f1 2012-08-29 16:45:41.000000000 +0800
+++ f2 2012-08-29 16:45:51.000000000 +0800
@@ -1,7 +1,7 @@
a
a
a
-a
+b
a
a
a
它的第一部分,也是文件的基本信息。
--- f1 2012-08-29 16:45:41.000000000 +0800
+++ f2 2012-08-29 16:45:51.000000000 +0800
"---"表示变动前的文件,"+++"表示变动后的文件。
第二部分,变动的位置用两个@作为起首和结束。
@@ -1,7 +1,7 @@
前面的"-1,7"分成三个部分:减号表示第一个文件(即f1),"1"表示第1行,"7"表示连续到第7行。合在一起,就表示下面是第一个文件从第1行开始的连续7行。同样的,"+1,7"表示变动后,成为第二个文件从第1行开始的连续7行。
第三部分是变动的具体内容。
第三部分是变动的具体内容。
a
a
a
-a
+b
a
a
a
除了有变动的那些行以外,也是上下文各显示3行。它将两个文件的上下文,合并显示在一起,所以叫做"合并格式"。每一行最前面的标志位,空表示无变动,减号表示第一个文件删除的行,加号表示第二个文件新增的行。
六、git格式的diff
版本管理系统git,使用的是合并格式diff的变体。
$ git diff
显示结果如下:
diff --git a/f1 b/f1
index 6f8a38c..449b072 100644
--- a/f1
+++ b/f1
@@ -1,7 +1,7 @@
a
a
a
-a
+b
a
a
a
第一行表示结果为git格式的diff。
diff --git a/f1 b/f1
进行比较的是,a版本的f1(即变动前)和b版本的f1(即变动后)。
第二行表示两个版本的git哈希值(index区域的6f8a38c对象,与工作目录区域的449b072对象进行比较),最后的六位数字是对象的模式(普通文件,644权限)。
index 6f8a38c..449b072 100644
第三行表示进行比较的两个文件。
--- a/f1
+++ b/f1
"---"表示变动前的版本,"+++"表示变动后的版本。
后面的行都与官方的合并格式diff相同。
@@ -1,7 +1,7 @@
a
a
a
-a
+b
a
a
a
最新文章
- C++实现邮件群发的方法
- svn 版本控制
- Unity浅析
- linux cpu占有率居高不下 调试
- bzoj 3196 树套树模板
- C++静态代码分析PreFast
- unity 解析tmx
- 整理了一些jQuery关于事件冒泡和事件委托的技巧
- MyEclipse的注册过程
- error: command &#39;x86_64-linux-gnu-gcc&#39; failed with exit status 1
- 学习vim命令:“:w !sudo tee %”
- 信号量 Semaphore
- YII2框架动态创建表模型
- Java实现折半(二分)插入排序
- js控件位置
- 说说自己对RESTful API的理解s
- JavaScript严格模式说明带示例
- Struts2 转换器
- MNIST数字识别问题
- submit提交判断
热门文章
- java语言体系的技术简介之JSP、Servlet、JDBC、JavaBean(Application)
- MongoDB 系列(一) C# 类似EF语法简单封装
- mysql裸文件备份XtraBackup (innobackupex)
- Hbase项目(完整版)
- 重温前端基础之-js排序算法
- SLAM概念学习之随机SLAM算法
- mac下maven的安装配置与使用
- 移动端font-size适配
- Mathab和Python的numpy中的数组维度
- BZOJ 4870: [Shoi2017]组合数问题 矩阵乘法_递推