常用的git diff命令用法汇总和示例

文章目录

      • [1. 查看工作目录和暂存区的差异](#1. 查看工作目录和暂存区的差异)
      • [2. 查看暂存区和最后一次提交的差异](#2. 查看暂存区和最后一次提交的差异)
      • [3. 查看两个提交之间的差异](#3. 查看两个提交之间的差异)
      • [4. 查看特定文件的更改](#4. 查看特定文件的更改)
      • [5. 查看特定文件在两个提交之间的差异](#5. 查看特定文件在两个提交之间的差异)
      • [6. 查看分支之间的差异](#6. 查看分支之间的差异)
      • [7. 查看某次提交的更改](#7. 查看某次提交的更改)
      • [8. 限制diff输出的格式](#8. 限制diff输出的格式)
      • [9. 查看一定时间范围内的更改](#9. 查看一定时间范围内的更改)

Git的diff命令是一种强大的工具,用于比较Git仓库中文件的更改。以下是一些常用的git diff命令用法和示例:

1. 查看工作目录和暂存区的差异

bash 复制代码
git diff

这个命令显示自上次git add以来,在工作目录中对文件所做的未暂存的更改。

2. 查看暂存区和最后一次提交的差异

bash 复制代码
git diff --staged

或者

bash 复制代码
git diff --cached

这些命令显示自上次git commit以来,暂存区中的文件与最后一次提交的差异。

3. 查看两个提交之间的差异

bash 复制代码
git diff commit1 commit2

这里commit1和commit2是两个提交的哈希值或引用。该命令显示两次提交之间的差异。

要对比两个特定的 Git 提交(例子是 e28efea 和 6f14d41),可以使用 Git 的 diff 命令。这个命令会显示两次提交之间代码的具体更改(添加、删除或修改的行)。

在终端或命令提示符中,您可以使用以下命令来对比这两个提交:

bash 复制代码
git diff 6f14d41 e28efea

这里,6f14d41 和 e28efea 是两个提交的哈希值。这个命令将展示自从 6f14d41 之后,直到 e28efea 所发生的所有更改。

输出结果会显示所有更改的详细内容,其中:

  • 以绿色(并且前面有 + 号)显示的是添加的行。
  • 以红色(并且前面有 - 号)显示的是删除的行。

如果您只对比这两个提交中某个特定文件的差异,可以在命令中指定文件名:

bash 复制代码
git diff 6f14d41 e28efea -- [文件路径]

请替换 [文件路径] 为您要比较的具体文件路径。

使用这个方法,您可以清楚地看到两个版本之间的代码差异,这对于了解特定更改的性质和影响非常有帮助。

4. 查看特定文件的更改

bash 复制代码
git diff [文件路径]

显示自上次git add以来,指定文件的更改。

5. 查看特定文件在两个提交之间的差异

bash 复制代码
git diff commit1 commit2 -- [文件路径]

显示两个提交之间指定文件的差异。

6. 查看分支之间的差异

bash 复制代码
git diff branch1 branch2

显示两个分支之间的差异。

7. 查看某次提交的更改

bash 复制代码
git diff commit1^!

这显示了commit1与其父提交之间的更改。

8. 限制diff输出的格式

bash 复制代码
git diff --stat

只显示每个文件的总结信息(如更改的行数和文件)。

9. 查看一定时间范围内的更改

bash 复制代码
git diff 'HEAD@{1 week ago}'

显示一周前与当前工作目录的差异。

相关推荐
挖掘狂人1 天前
Git 从 0 到 1:用一个小项目走完 add / commit / reset / merge / rebase / push
git·后端·github
codigger1 天前
Git 三区域模型:把 add、commit、reset、merge 一次讲透
git·github·编程·编程语言
水饺编程1 天前
第1章:开发环境搭建,在 Windows 中安装 Git
linux·c语言·汇编·git·ubuntu
idanzk1 天前
Git 推送 GitHub 报 SSL_READ /src refspec main 不匹配 完整踩坑记录
git·github·ssl
星恒随风1 天前
Linux开发工具详解(二):Git版本控制、GitHub协作与GDB调试实战
linux·笔记·git·学习·github
寺中人2 天前
Xshell 完全入门指南:从安装到实战,远程连接+文件传输+会话管理全拆解
git·ssh·github·php·远程连接·xshell·运维工具
酬谢神明则必安2 天前
git学习记录01
linux·git·学习
lingchen19062 天前
版本控制 Git源代码项目管理
git
虫无涯2 天前
Coverity 如何结合 GJB8114-2013使用?
git·单元测试·嵌入式测试·coverity·静态扫描
喵本喵叁肆2 天前
Git 深度解读:从对象模型到分支指针,把版本控制的内核讲透
git