在 macos 的 vs code 中,通过 git 面板点击“更改”列表中的文件即可查看差异:左侧为 head 或暂存版,右侧为工作区修改;支持一键撤销单行或全部更改,并可通过命令面板执行“compare with previous revision”快速对比。
在 macos 上,用 vs code 内置源代码管理面板(即 git 面板)查看单个文件修改前后的差异,是最常用也最轻量的方式——不用插件、不输命令,点一下就出来。
确保 Git 仓库状态正常
VS Code 的 Git 面板依赖本地 .git 目录。请先确认:
- 当前工作区是 Git 仓库根目录(左下角状态栏显示分支名,如 main 或 feature/login)
- 项目根目录下存在 .git 文件夹(不是子目录里有就行,必须是打开的文件夹就是仓库根)
- 目标文件已被 Git 跟踪(新建未 add 的文件不会显示差异,只会提示 “No changes”)
从“更改”列表中直接点击文件
这是最快路径:
- 按 Cmd+Shift+G 打开源代码管理面板
- 在上方“更改”区域找到你修改过的文件,**直接点击它**
- VS Code 自动打开 diff 视图:左侧是上一次 commit(HEAD)内容,右侧是当前未暂存的修改
如果文件已暂存(staged),点击后显示的是“暂存版本 vs 工作区”,右上角会标注 STAGED;若想看“暂存版 vs 上次 commit”,可右键该文件 → “Compare with HEAD”。
用命令快速触发对比
适合键盘操作习惯者:
- 保持焦点在编辑器或任意位置,按 Cmd+Shift+P 呼出命令面板
- 输入 Git: Compare with Previous Revision,回车
- 当前活动文件会立即与它的上一个 commit 版本对比
注意:这个命令只对已跟踪且有历史提交的文件有效;如果刚 add 还没 commit 过,会提示“no previous revision”。
识别和操作差异内容
diff 视图里,关键信息在左侧边栏(gutter)和行背景:
- 红色背景 + “-”标记:该行在当前版本被删除(原版本有,现在没了)
- 绿色背景 + “+”标记:该行是新增内容(原版本无,现在加了)
- 黄色背景或红绿混合块:该行内容被修改(如变量名、参数、逻辑调整)
- 点击行中间的 → 图标,可把右侧修改复制到左侧(即撤销这行改动)
- 右键左侧区域 → Accept All Changes,相当于一键丢弃全部修改(把左侧覆盖到右侧)
若某段代码只是移动了位置(比如函数换行),默认会被识别为“删+增”,不是“移动”。如需辅助判断,可右键 diff 视图 → 取消勾选 Inline Differences,再观察空格/缩进变化。











