最稳路径是用git diff branch-a...branch-b(三点语法)精准显示branch-b独有的变更,避免共同祖先干扰;比两个commit用git diff commit1 commit2;查提交列表用git log --oneline branch-a..branch-b;看单文件改动用git show commit:file.js。

你需要在Mac终端里快速看清Git仓库中任意两个提交、分支或标签之间的代码改动,比如验证某次修复是否生效、检查上线前的最终变更、或者确认合并内容是否完整。
用git diff直接比对两个commit
打开终端,进入项目根目录,执行:
git diff <commit-hash-1> <commit-hash-2>
例如对比最近两次提交:
git diff HEAD~1 HEAD
这会以绿色(新增)和红色(删除)高亮显示所有行级差异。注意:默认只显示工作区与暂存区之间未add的修改,加--no-index参数无法用于此场景——【必须确保两个commit都已存在于本地仓库中】,否则会报错“unknown revision”。
比对两个分支的全部差异
方法一:基础比对
git diff branch-a..branch-b
方法二:更清晰的写法(推荐)
git diff branch-a...branch-b
这种三点语法只显示branch-b有而branch-a没有的提交引入的变更,排除共同祖先的干扰。
方法三:查看分支间有哪些commit不同
git log --oneline branch-a..branch-b
先看有哪些提交,再针对关键提交用git diff单独分析。
使用四维度框架评估任意 GitLab MR 或 GitHub PR 的复杂度:规模(20%),认知负荷(30%),审查工作量(30%),风险/影响(20%)...
比对暂存区与最后一次提交
第一步:把当前修改add进暂存区
git add .
第二步:对比暂存区和HEAD
git diff --cached
这一步能精准看到你即将commit的内容,避免误提交调试日志或临时变量。如果跳过git add直接运行git diff,它只会显示工作区与暂存区的差异,【不会包含已add但未commit的改动】。
查看某次提交具体改了哪些文件
① 先获取目标提交的完整hash:
git log --oneline -n 5
② 查看该提交修改了哪几个文件:
git show --name-only <commit-hash>
③ 只看某个特定文件在该提交中的变更:
git show <commit-hash>:path/to/file.js
这三步连起来操作,能快速定位到单个文件的逻辑变化,尤其适合Code Review时聚焦重点。

















