美文网首页
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文件diff

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