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 @@​

git diff 命令详解_git