代码差异对比(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为例)
- 行内查看:点击行号旁的色块,直接查看修改内容
- 分栏对比:右键文件 → "打开更改",左右对照查看
- 暂存部分代码:在行号处右键,选择"暂存选定范围"
代码审查要点
- 关注边界条件:特别注意
if/else、try/catch的变更逻辑 - 检查副作用:变量命名修改是否遗漏引用点
- 空白字符:使用
git diff -w忽略格式化噪声,聚焦实质变更
常见问题
- 乱码问题:确保文件编码统一为UTF-8,必要时设置
git config core.quotepath off - 大文件对比:二进制文件建议使用专用工具,避免直接文本对比
- 合并冲突:使用三方合并工具(如Beyond Compare、KDiff3)比纯文本对比更直观
实践建议
日常开发中,提交前务必执行一次 git diff --cached 自查,可过滤掉约80%的调试代码和临时文件误提交。