查看尚未暂存的文件更新了哪些部分
$ 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的差异。