Git Diff 格式分析

 

参考:

http://stackoverflow.com/questions/2529441/how-to-read-the-output-from-git-diff

https://www.git-tower.com/learn/git/ebook/en/command-line/advanced-topics/diffs

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

 

就最不明白的一点:

23,7表示从23行开始的7行,但是明明只改了一行.

其他的那些行都是上下文,用来帮你理解更改位置的.

但是23行,是从erb:success开始,为什么diff后还多出了21行的get...

那还不如从21行开始呢,省了一行又有什么意义.

又看了看,chunk头后不换行是识别出了语言的方法名,这个看git能不能识别出语言.

至于为什么是23,7不是21,9就不管了.

 

1.git diff

不带任何参数的git diff,是暂存区与工作区相比较,旧的是暂存区

2.git diff head

将head和工作区相比,旧的是最新版本库

3.git diff --cached 或者--staged

head和暂存区相比,旧的是head

 

这样三个位置都互相比较完了,一般来说表的优先级从旧到新是head->暂存区->工作区.

 

4.git status -s

两个M,第一个M是版本库和暂存区对比,第二个M是暂存区和工作区对比.只要commit完了,版本库和暂存区内容一样,除非再次add

 

转载于:https://www.cnblogs.com/ptqueen/p/6724183.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值