工作区、暂存区、最后一次commit对比
# 暂存区为空时对比工作区与最后一次commit
# 暂存区不为空时对比工作区与暂存区
git diff [file]
# 暂存区与最后一次commit的对比
git diff --cached [file]
git diff --staged [file]
# 工作区与暂存区和最后一次commit的对比
git diff HEAD [file]
# 不指定文件时将对比所有
分支对比
# 显示出所有有差异的文件的详细差异
git diff <branch1> <branch2> [file]
# 显示出所有有差异的文件(没有对比内容)
git diff <branch1> <branch2> --stat
commit对比
# 对比两个commit的差异
git diff <commitA> <commitB>
# 对比commit与工作区的差异
git diff commit
# 对比commit与暂存区的差异
git diff --cached commit