$ git diff <filename>
意義:查看文件在工做目錄與暫存區的差異。若是還沒 add 進暫存區,則查看文件自身修改先後的差異。也可查看和另外一分支的區別。git
$ git diff <branch> <filename>
git diff --cached <filename>
意義:表示查看已經 add 進暫存區可是還沒有 commit 的內容同最新一次 commit 時的內容的差別。 也能夠指定倉庫版本:bash
git diff --cached <commit> <filename>
git diff <commit> <filename>
意義:查看工做目錄同Git倉庫指定 commit 的內容的差別。 <commit>
=HEAD
時:查看工做目錄同最近一次 commit 的內容的差別。測試
git diff <commit> <commit>
意義:Git倉庫任意兩次 commit 之間的差異。code
以上命令能夠不指定 <filename>
,則對所有文件操做。 以上命令涉及和 Git倉庫 對比的,都可指定 commit 的版本。it
HEAD
最近一次 commitHEAD^
上次提交HEAD~100
上100次提交準備工做:class
開始測試:test
一、修改文件內容,例如添加一行「000」 二、查看修改:git diff test.txt擴展
此時因爲沒有向暫存區暫存此修改,此時做用是查看工做目錄文件的修改。file
三、提交一次:git commit -m "add line 000" 四、修改文件內容,例如添加一行「111」 五、暫存這次修改:git add test.txt,不做 commit 六、再次修改文件夾內容,例如添加一行「222」 七、查看修改:git diff test.txt最佳實踐
此時查看文件在工做目錄(222)與暫存區(111)的差異。
其它命令自行測試