首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Git-git diff命令结果解析

Git-git diff命令结果解析

作者头像
洋仔聊编程
发布2019-10-25 09:17:41
4.1K0
发布2019-10-25 09:17:41
举报

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/CSDN___LYY/article/details/102555882

在工作中,开发完一个分支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 上面的命令会统计一下有哪些文件被改动,有多少行被改动

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-10-14 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档