Git-gitdiff命令结果解析
在⼯作中,开发完⼀个分⽀commit之前,我们通常要确定⼀下⾃⼰在什么地⽅更改了代码,看看有没有误操作代码,这个时候,git diff命令闪亮登场~
git diff:获得当前⼯作⽬录和上次提交与本地索引的差距,也就是可以获取本次你在什么地⽅修改了代码。
git diff file_name:获取指定⽂件的修改
执⾏git diff获得下图部分截图:
我们来解读⼀下上述图的结构,便于我们更好的理解我们的修改。
获取的结果⼤体的结构是:
提交更改是什么diff –-git a/f1 b/f1
index 8f86bb9..d74049c 100644
- a/f1
+++ b/f1
@@ -1,7 +1,7 @@
code
code
code
-code
+code
code
code
code
1. 第⼀⾏表⽰结果为git格式的diff
diff --git a/f1 b/f1
进⾏⽐较的是,a版本的f1(即变动前)和b版本的f1(即变动后)。
2. 第⼆⾏表⽰两个版本的git哈希值和最后的六位数字是对象的模式
index 7a67204..8213f76 100644
index区域的7a67204对象,与⼯作⽬录区域的8213f76对象进⾏⽐较。100代表普通⽂件,644代表⽂件具有的权限(同linux⽂件权限)
3. 第三四⾏表⽰进⾏⽐较的两个⽂件
- a/f1
+++ b/f1
"-“表⽰变动前的版本,”+++"表⽰变动后的版本。
4. 第五⾏表⽰代码变动的位置⽤两个@作为起⾸和结束
@@ -1,7 +1,7 @@
"-1,7″分成三个部分:减号表⽰第⼀个⽂件(即f1),"1″表⽰第1⾏,“7″表⽰连续7⾏。
合在⼀起,就表⽰下⾯是第⼀个⽂件从第1⾏开始的连续7⾏。
同样的,”+1,7″表⽰变动后,成为第⼆个⽂件从第1⾏开始的连续7⾏。
5. 第三部分是变动的具体内容
code
code
code
-
code
+code
code
code
code
变动的⾏,上下⽂各显⽰3⾏。将两个⽂件上下⽂合并显⽰在⼀起。
每⼀⾏最前⾯的标志位:“-”代表第⼀个⽂件删除的⾏⽤红⾊表⽰,“+”表⽰第⼆个⽂件新增的⾏⽤绿⾊表⽰,⽆标志表⽰该⾏⽆变动。
其他⽤法
$ git diff --cached
上⾯的命令会显⽰你当前的索引和上次提交间的差异;
$ git diff HEAD
上⾯这条命令会显⽰你⼯作⽬录与上次提交时之间的所有差别,这条命令所显⽰的 内容都会在执⾏"git commit -a"命令时被提交。
$ git diff test
上⾯的命令会显⽰你当前⼯作⽬录与另外⼀个叫’test’分⽀的差别。
$ git diff HEAD -- ./lib
上⾯这条命令会显⽰你当前⼯作⽬录下的lib⽬录与上次提交之间的差别(或者更准确的 说是在当前分⽀)。
$ git diff --stat
上⾯的命令会统计⼀下有哪些⽂件被改动,有多少⾏被改动
推荐阅读:
参考:
如果转载此博⽂,请附上本⽂链接,谢谢合作~
如果感觉这篇⽂章对您有所帮助,请“点赞”或者“关注”博主,您的喜欢和关注将是我前进的最⼤动⼒!

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。