Unix diff

学习git 中看到git diff的显示格式,才想起来自己一直不懂diff的显示格式,特地去搜索学习一下。这算是个学习笔记吧。

===============================================================

Unix diff 格式分为三类:

  •      normal diif       diff 默认的
  •      context diff     dif -c
  •      unified diff      diff -u

normal diff:

  4c4
  < a
  ---
  > b

 

只显示变化的部分:

c ——change

a——add

d——deletion

 

4c4

<移除

>增添

 

a 的第四行 change 编程了 b的第四行

context diff:

  *** f1 2012-08-29 16:45:41.000000000 +0800
  --- f2 2012-08-29 16:45:51.000000000 +0800
  ***************
  *** 1,7 ****
   a
   a
   a
  !a
   a
   a
   a
  --- 1,7 ----
   a
   a
   a
  !b
   a
   a
   a

会显示变更位置的上下文,1,7 标识显示范围为第一行到第七行

!——change

- ——deletion

+——add

unified diff:


  

--- 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

会合并相同行进行显示,  @@ -1,7 +1,7 @@

-1,7 f1的 1-7行, +1,7 f2 的1-7行(-1, +1,2 标识f2 加了一行)

-a  f1 删除a

+b f2 增加b

 

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

增加部分内容,两者hash指, index区域与工作目录区域对比

最后为权限信息(对象的模式)(普通文件644权限)

ref:

http://www.ruanyifeng.com/blog/2012/08/how_to_read_diff.html

转载于:https://my.oschina.net/superzero/blog/796056

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值