#### 1. 前言 ---- git diff 用來比較文件之間的差異 平時(shí)我們在本地開發(fā)時(shí),一般都是通過 gui 工具(git 圖形化工具)查看文件差異,也就是文件變動內(nèi)容。但是,我們可能會在線上服務(wù)器臨時(shí)改一些小東西去排查 bug,此時(shí)就用不了這些 gui 工具了,那么就可以通過這個(gè)命令查看我們改動的內(nèi)容 應(yīng)用場景: + 工作區(qū)和暫存區(qū)中的文件進(jìn)行比較 + 工作區(qū)和版本庫中的文件進(jìn)行比較 + 暫存區(qū)和版本庫中的文件進(jìn)行比較 #### 2. 使用示例 ---- 查看文件差異(默認(rèn)查看所有文件的差異) ``` # 查看工作區(qū)和暫存區(qū)文件差異 git diff # 查看工作區(qū)和版本庫文件差異 git diff HEAD # 查看暫存區(qū)和版本庫文件差異 git diff --cached ``` 查看某些文件的差異 ``` git diff [HEAD|--cached] <file1> <file2> ``` #### 3. git diff 命令輸出內(nèi)容分析 ---- 100644: 100 代表是普通文件,644 指的是文件權(quán)限 git 會將文件內(nèi)容使用 hash 算法加密,生成一個(gè) 40 位的 hash 加密字符串 9f3a261 :修改前的文件 hash 值的前七位 d34372b:修改后的文件 hash 值的前七位 ``` index 9f3a261..d34372b 100644 ``` 修改前的文件: 從第 140 行開始顯示 3 行,也就是顯示 140~142 行 修改后的文件: 從第 140 行開始顯示 5 行,也就是顯示 140~144 行 ``` @@ -140,3 +140,5 @@ ``` ![](https://img.itqaq.com/art/content/f10dca98da297aa20691ef76a3544abf.png)