git diff和系統(tǒng)的diff命令是不同的,git diff是用作對比兩個文件的差別,但是它是對這個文件和它在時光軸上的某個點上的自己做對比。當然git diff也可以用作--------
明白這點,就好理解多了。
先看這幅圖:

image
git diff可以用當前工作區(qū)的某文件,來進行:@1 它和自己保存在緩沖區(qū)的復制品對比,@2 它和過去每一個commit時光點上的自己對比。
當然,對比開始后,顯示結(jié)果就和系統(tǒng)diff顯示的大同小異了。
# 當前工作區(qū)與緩沖區(qū)的對比
git diff [指定對比的文件,或不指定也行]
# 緩沖區(qū)與過去commits對比
git diff --staged [指定對比的文件,或不指定也行]
本次commit與上次commit的diff
參考文章。
最簡單寫法:
git diff HEAD^ HEAD
# or
git diff @~..@
# or
git show
# or with GUI display
git difftool HEAD^ HEAD