#### 1. 前言 ---- git diff 用来比较文件之间的差异 平时我们在本地开发时,一般都是通过 gui 工具(git 图形化工具)查看文件差异,也就是文件变动内容。但是,我们可能会在线上服务器临时改一些小东西去排查 bug,此时就用不了这些 gui 工具了,那么就可以通过这个命令查看我们改动的内容 应用场景: + 工作区和暂存区中的文件进行比较 + 工作区和版本库中的文件进行比较 + 暂存区和版本库中的文件进行比较 #### 2. 使用示例 ---- 查看文件差异(默认查看所有文件的差异) ``` # 查看工作区和暂存区文件差异 git diff # 查看工作区和版本库文件差异 git diff HEAD # 查看暂存区和版本库文件差异 git diff --cached ``` 查看某些文件的差异 ``` git diff [HEAD|--cached] <file1> <file2> ``` #### 3. git diff 命令输出内容分析 ---- 100644: 100 代表是普通文件,644 指的是文件权限 git 会将文件内容使用 hash 算法加密,生成一个 40 位的 hash 加密字符串 9f3a261 :修改前的文件 hash 值的前七位 d34372b:修改后的文件 hash 值的前七位 ``` index 9f3a261..d34372b 100644 ``` 修改前的文件: 从第 140 行开始显示 3 行,也就是显示 140~142 行 修改后的文件: 从第 140 行开始显示 5 行,也就是显示 140~144 行 ``` @@ -140,3 +140,5 @@ ``` 