菜鸟笔记
提升您的技术认知

git diff 命令详解

1. 前言

git diff 用来比较文件之间的差异

平时我们在本地开发时,一般都是通过 gui 工具(git 图形化工具)查看文件差异,也就是文件变动内容。但是,我们可能会在线上服务器临时改一些小东西去排查 bug,此时就用不了这些 gui 工具了,那么就可以通过这个命令查看我们改动的内容

应用场景:

  • 工作区和暂存区中的文件进行比较
  • 工作区和版本库中的文件进行比较
  • 暂存区和版本库中的文件进行比较

2. 使用示例

查看文件差异(默认查看所有文件的差异)


  1. # 查看工作区和暂存区文件差异
  2. git diff
  3. # 查看工作区和版本库文件差异
  4. git diff HEAD
  5. # 查看暂存区和版本库文件差异
  6. git diff --cached

查看某些文件的差异


  1. git diff [HEAD|--cached] <file1> <file2>

3. git diff 命令输出内容分析

100644: 100 代表是普通文件,644 指的是文件权限

git 会将文件内容使用 hash 算法加密,生成一个 40 位的 hash 加密字符串

9f3a261 :修改前的文件 hash 值的前七位
d34372b:修改后的文件 hash 值的前七位


  1. index 9f3a261..d34372b 100644

修改前的文件: 从第 140 行开始显示 3 行,也就是显示 140~142 行
修改后的文件: 从第 140 行开始显示 5 行,也就是显示 140~144 行


  1. @@ -140,3 +140,5 @@