(1)git diff:当工作区有改动,临时区为空,diff的对比是“工作区与最后一次commit提交的仓库的共同文件”;当工作区有改动,临时区不为空,diff对比的是“工作区与暂存区的共同文件”。
(2)git diff --cached 或 git diff --staged:显示暂存区(已add但未commit文件)和最后一次commit(head)之间的所有不相同文件的增删改(git diff --cached和git diff –staged相同作用)
(3)git diff head:显示工作目录(已track但未add文件)和暂存区(已add但未commit文件)与最后一次commit之间的的所有不相同文件的增删改。
(3.1)git diff head~x或git diff head^^^…(后面有x个^符号,x为正整数):可以查看最近一次提交的版本与往过去时间线前数x个的版本之间的所有同(3)中定义文件之间的增删改。
(4)git diff <分支名1> <分支名2> :比较两个分支上最后 commit 的内容的差别
(4.1) git diff branch1 branch2 --stat 显示出所有有差异的文件(不详细,没有对比内容)
(4.2) git diff branch1 branch2 显示出所有有差异的文件的详细差异(更详细)
(4.3) git diff branch1 branch2 具体文件路径 显示指定文件的详细差异(对比内容)