使用 diff 命令查看文件修改的具体细节

发布于 2024-01-17 13:05:09 字数 1854 浏览 29 评论 0

我们通过 git status 命令只能看到当前工作区内哪些文件被修改了,而如果我们想要查看修改的细节那就得使用 git diff 命令了:

查看工作区中文件与暂存区文件的区别:

这里需要指出的是:该命令查看的是工作区文件相对于暂存区文件的区别。

git diff <文件名> #当文件名省略时,则表示查看所有修改过的文件的区别
$ git diff hello.java
diff --git a/hello.java b/hello.java
index f761ec1..b2a7546 100644
--- a/hello.java
+++ b/hello.java
@@ -1 +1 @@
-bbb    #原先暂存区中的文件
+ccc    #工作区新做出的变更

查看暂存区中的文件与上次提交的快照的具体区别:

这里需要指出的是:该命令查看的是暂存区文件相对于 HEAD 指针指向的快照的文件的区别。

git diff --cached <文件名>  #--cached 的表示查看暂存区中文件与 HEAD 指针所指向的快照中的区别,当文件名省略时,则表示查看所有修改过的文件的区别
$ git diff --cached hello.java
diff --git a/hello.java b/hello.java
index 8f22c74..f761ec1 100644
--- a/hello.java
+++ b/hello.java
@@ -1 +1 @@
-aaa`
+bbb

查看两个提交对象的具体差别

git diff <base-commit> <commit> <文件名>...  #如果省略文件名,就是比较 commit 相对于 base-commit 的所有文件的具体区别

一定要注意:该命令显示的是后面的 commit 对象相对于前面的 commit 对象的变化

git log 
commit c689ddfc8fdc6b689a13d3a7dd861df3230d0947 (HEAD -> master) # A Commit
Author: tianjindong <tianjindong98@qq.com>
Date:   Tue Jun 4 09:52:42 2019 +0800

    dsa

commit d21c01b28f1b21bffab3a64286fdc180405d6120
Merge: 86984d0 8b43fc7
Author: tianjindong <tianjindong98@qq.com>
Date:   Tue Jun 4 09:28:36 2019 +0800

    dsadas

commit 8b43fc7441ced8d19b4edd1aaa333444b931b075 # B commit
Author: tianjindong <tianjindong98@qq.com>
Date:   Tue Jun 4 09:26:41 2019 +0800

    dasdsad
     
git diff HEAD 8b43fc744  #查看 A 和 B commit 的区别

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

无声静候

暂无简介

文章
评论
447 人气
更多

推荐作者

櫻之舞

文章 0 评论 0

弥枳

文章 0 评论 0

m2429

文章 0 评论 0

野却迷人

文章 0 评论 0

我怀念的。

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文