美文网首页
Git文件diff

Git文件diff

作者: shz_Minato | 来源:发表于2019-02-26 10:22 被阅读0次

概述

 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 //表示源文件 增加这一行就是目标文件,这一行是目标文件独有的
   
   某次提交是 源文件
   暂存区是   目标文件


相关文章

  • git 基本操作

    git diff git diff,比较 working tree 与 staged 文件的区别。git diff...

  • Git 命令生成 diff 文件

    git diff 生成 diff 文件

  • 常用的git命令和git分支策略

    git diff 命令 git diff 文件:查看尚未缓存的改动 git diff --cached:查看已缓存...

  • Git: 版本控制(3)

    git diff 对比区别 直接输入 git diff 后面不跟某个文件,即显示出所有文件的区别 git di...

  • [Git]-004 Git操作本地版本库的一些操作

    1.git diff 查看文件内容不同 1.git diff filename 查看工作区和缓存区文件内容差...

  • git 命令总结

    git status查看文件状态 git status -s 简要查看文件状态 git diff 查看所有...

  • 文件修改前后比较

    git diff 文件名 将工作区中的文件和暂存区进行比较 git diff [本地库历史版本] [文件名] 例如...

  • 时光机穿梭

    $ git status 查看文件状态$ git diff readme.txt 查看文件与原文件的异同$ git...

  • git命令

    git status //查看那些文件有修改git diff 文件名 //查看对应文件的修改内容git che...

  • Git文件diff

    概述  Git的diff用于对比查看两个文件的不同。 Git的diff内容如下:  查看暂存区和工作区文件对比  ...

网友评论

      本文标题:Git文件diff

      本文链接:https://www.haomeiwen.com/subject/osgoyqtx.html