Git 命令之Git diff

git diff 最直观的理解和印象是比较差异

  • git diff 

  1. 当工作区有变化,并且没有执行add 操作时,显示的是工作区和 最后提交的commit 的共同文件的之间的差别 

     这里添加了一行代码,没有 git add ,然后执行git diff ,结果如下

    diff --git a/D.java b/D.java
    index 4c5e244..4da3cdc 100644
    --- a/D.java
    +++ b/D.java
    @@ -19,5 +19,6 @@ class D {
                 System.out.print(i+" ");
             }
             System.out.println();
    +        System.out.println("Hello world");
         }
     }
    \ No newline at end of file
  2. 工作区有改动,临时区不为空,即已经git add ,git diff 显示的是工作区和暂存区的共同文件之间的差别

          

git add 

 之后执行git diff ,内容无差别

git diff 

  • git diff --cached 或者 git diff --staged         

此时已经add 了, 文件进入了暂存区 ,这里展示的是暂存区和上次的commmit id 的所有的不相同文件的差别和变化,包括一些增删改

diff --git a/D.java b/D.java
index 4c522e4..4da3cdc 100644
--- a/D.java
+++ b/D.java
@@ -19,5 +19,6 @@ class D {
             System.out.print(i+" ");
         }
         System.out.println();
+        System.out.println("Hello world");
     }
 }
\ No newline at end of file

  • git diff HEAD     

工作区 —>add 暂存区 —>commit 本地版本库

以上命令显示 工作区、 暂存区、上一次的commit 之间的所有不相同文件的增删改的变化

>>git status

On branch master
Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
        modified:   D.java

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
        modified:   C.txt

>> git diff 

diff --git a/C.txt b/C.txt
index 51md0e5..7f2f90e 100644
--- a/C.txt
+++ b/C.txt
@@ -1,3 +1,6 @@
 
 
 add C.txt
+
+
+hello
\ No newline at end of file
diff --git a/D.java b/D.java
index 4c55244..4datcdc 100644
--- a/D.java
+++ b/D.java
@@ -19,5 +19,6 @@ class D {
             System.out.print(i+" ");
         }
         System.out.println();
+        System.out.println("Hello world");
     }
 }
\ No newline at end of file

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值