人人都会AI编程

5.5 代码差异对比

更新时间:2026-06-28

代码差异对比(Diff)是版本控制和代码审查的基础操作,用于快速识别不同版本间的具体变更。

常用工具对比

| 工具/方式 | 适用场景 | 特点 |
|---------|---------|------|
| git diff | 本地快速查看 | 无需图形界面,适合服务器环境 |
| IDE内置对比 | 日常开发 | 支持行内编辑、语法高亮、三栏对比 |
| GitHub/GitLab PR | 团队协作 | 支持评论、建议修改、CI状态显示 |
| diff/vimdiff | 紧急排查 | 系统自带,无依赖 |

基础操作示例

# 查看工作区与暂存区差异
git diff filename.js

# 查看已暂存但未提交的变更
git diff --cached

# 对比两个分支的特定文件
git diff main...feature -- src/utils.js

IDE高效技巧(以VS Code为例)

  1. 行内查看:点击行号旁的色块,直接查看修改内容
  2. 分栏对比:右键文件 → "打开更改",左右对照查看
  3. 暂存部分代码:在行号处右键,选择"暂存选定范围"

代码审查要点

  • 关注边界条件:特别注意 if/elsetry/catch 的变更逻辑
  • 检查副作用:变量命名修改是否遗漏引用点
  • 空白字符:使用 git diff -w 忽略格式化噪声,聚焦实质变更

常见问题

  • 乱码问题:确保文件编码统一为UTF-8,必要时设置 git config core.quotepath off
  • 大文件对比:二进制文件建议使用专用工具,避免直接文本对比
  • 合并冲突:使用三方合并工具(如Beyond Compare、KDiff3)比纯文本对比更直观

实践建议
日常开发中,提交前务必执行一次 git diff --cached 自查,可过滤掉约80%的调试代码和临时文件误提交。