Git文件diff

概述

 Git的diff用于对比查看两个文件的不同。
 Git的diff内容如下:
  查看暂存区和工作区文件对比
  查看某次提交仓库和工作区文件对比
  查看某次提交和暂存区文件对比

对比暂存区和工作区(git diff)

新建文件,并编辑内容
使用vi aa新建文件,并插入内容 插入Hello World。
使用 git add aa 将文件存入暂存区
此时在 vi aa 修改文件 插入Hello Java

此时暂存区已经和工作区不同了 
    暂存区只有一行Hello World 
    工作区有两行 Hello World   和 Hello Java

此时git diff 命令 控制台输出

    diff --git a/aa b/aa   //比较的是aa文件   源是暂存区  目标是 工作区
    index 557db03..3fbbfe5 100644
    --- a/aa //-表示 源文件
    +++ b/aa //+表示 目标文件
    @@ -1 +1,2 @@  //-1的含义:-表示源,1表示只有1行。+1,2的含义:+表示目标文件,1表示第一行,2表示有两行
     Hello World //前面是空格 表示两个文件共有部分
    +Hello Java //前面是+ 表示是目标文件中有的部分,+表示源文件加上这一行 就是目标文件
    
    此处的含义:
        源文件是暂存区,目标文件是工作区
        暂存区只有一行Hello World 
        工作区有两行 Hello World   和 Hello Java
        
        源文件+上Hello Java就是目标文件了

对比某次提交和工作区(git diff commit_id)

某次提交可以用 commit的id指代,HEAD表示最新的提交
首先clean git
当前最新提交的文件内容是两行 Hello World和Hello Java
此时vi aa 修改文件内容 添加一行 Hello Kotlin

此时 工作区就有三行  最新的提交是两行

使用git diff HEAD 查看最新提交与工作区的对比
控制台输出
    diff --git a/aa b/aa  //比较的文件
    index 3fbbfe5..7f2061b 100644 
    --- a/aa //表示源  此处是已提交
    +++ b/aa //表示目标文件  此处是工作区
    @@ -1,2 +1,3 @@ //-1,2的含义:-表示源文件,1表示开头行,2表示有两行  +1,3的含义:+表示目标文件,1表示开头行,3表示有三行
    Hello World //前面是空格,表示两个文件共有的部分
    Hello Java //前面是空格,表示两个文件共有的部分
   +Hello Kotlin //前面是+,表示目标文件中 独有 的部分,表示源文件加上这一行 就是目标文件

对比某次提交和暂存区(git diff --cached commit_id)

某次提交可以用 commit的id指代,HEAD表示最新的提交
首先clean git

当前最新的提交有三行
    Hello World
    Hello Java
    Hello Kotlin

vi 修改内容,添加一行 Hello Android
提交文件至暂存区

当前暂存区有四行
    Hello World
    Hello Java
    Hello Kotlin
    Hello Android

此时git diff --cached HEAD
控制台输出
    diff --git a/aa b/aa
    index 7f2061b..b34cf01 100644
    --- a/aa
    +++ b/aa
    @@ -1,3 +1,4 @@
    Hello World
    Hello Java
    Hello Kotlin
   +Hello Android //表示源文件 增加这一行就是目标文件,这一行是目标文件独有的
   
   某次提交是 源文件
   暂存区是   目标文件


©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 来源:Git由浅入深之操作与指令作者:惊鸿三世(转载已获得原作者许可,如需转载请与原作者联系) 本篇正式开始介绍G...
    极乐君阅读 5,753评论 9 67
  • Git使用教程:https://blog.csdn.net/tgbus18990140382/article/de...
    SkTj阅读 7,821评论 1 11
  • git作为时下最流行的代码管理工具,Git权威指南总结了十条喜欢Git的理由: 异地协同工作; 现场版本控制; 重...
    古斟布衣阅读 5,812评论 0 12
  • Git常用语法 [TOC] Git简介 描述 ​ Git(读音为/gɪt/。)是一个开源的分布式版本控制系统,...
    君惜丶阅读 9,222评论 0 13
  • 总结《2018年11月30日》 【连续第256+1+1+2+3+1+20天总结】 一.目标完成情况? 1.影响力,...
    今天不说话阅读 1,832评论 0 0

友情链接更多精彩内容