20. git diff
基本概述
git diff的作用是:比较代码差异
基本用法
1.工作区 VS 暂存区
git diff [file]
2.暂存区 VS 最新提交
git diff --staged [file]
# 或
git diff --cached [file]
3.工作区 VS 最新提交
git diff HEAD [file]
高级用法
1.比较两个提交间的差异
git diff commit1 commit2
- 例子:比较某次提交与其父提交的差异
git diff commit^ commit # 等价于 git show commit
2.比较两个分支的最新提交
git diff main feature
- 例子:比较本地分支与其远程跟踪分支
git diff @{upstream}
# 或明确指定分支
git diff origin/main
3.比较两个标签的差异
git diff v1.0 v2.0
4.生成补丁文件
git diff > changes.patch
常用选项
1.查看指定行差异
git diff -L 10,20:file.txt
2.显示未解决得合并冲突差异
git diff --merge-base
3.生成二进制文件的补丁
git diff --binary HEAD~1 HEAD > bin.patch