查看尚未暫存的文件更新了哪些部分
$ git diff
此命令比較的是工作目錄(Working tree)和暫存區域快照(index)之間的差異,也就是修改之後還沒有暫存(git add)起來的變化內容。如果執行了git add,再執行git diff,不會顯示出有差異。
查看已經暫存(git add)起來的文件(staged)和上次提交時的快照之間(HEAD)的差異
$ git diff --cached(1.6之前版本)
$ git diff --staged(1.6之後版本)
顯示的是commit時會提交到HEAD(Repository)的內容。
顯示工作版本(Working tree)和HEAD的差別
$ git diff HEAD
不管執行不執行git add,都會有差異,但是執行完git commit後就沒有差異了。
顯示兩個分支的差異
$ git diff branch1 branch2 //顯示兩個分支的不同
$ git diff branch1..branch2 //兩個點
$ git diff master origin/master //顯示本地分支和遠程分支的不同
branch1和branch2沒有先後關係,這個命令是顯示branch2對branch1的差異
輸出自develop和master分別開發以來,master分支上的改變。
$ git diff develop...master //三個點
如果develop和master分開後,master做了修改並commit,則執行上面命令會顯示master上分別開發後的更改,僅僅顯示master上做的更改,不是顯示develop和master的差異。