用命令行看git diff是一件痛苦的事情——密密麻麻的文字、不直观的颜色标记、在大文件中找不到修改位置。codiff是一个新开源的本地diff查看器,用浏览器界面展示Git变更,让你在提交前能更直观地审查代码。
为什么需要codiff
传统的git diff工具有几个问题:
- 终端中的diff输出不直观,特别是涉及多文件修改时
- GitHub/GitLab的网页diff需要push后才能看,不适合本地审查
- VS Code的diff视图虽然不错,但有时候你不想打开整个IDE
- 一些diff工具太重(如Beyond Compare),启动慢、配置复杂
codiff的定位是:轻量、快速、好看的本地diff查看器。
主要功能
- 查看staged和unstaged变更:一键查看暂存区和工作区的所有修改
- 语法高亮:支持主流编程语言的语法高亮
- 并排对比:左右分栏显示修改前后的代码
- 文件导航:左侧文件树快速跳转到不同文件的修改
- 本地运行:所有数据在本地处理,不上传任何内容
- 快速启动:基于现代前端框架,启动速度快
安装方法
使用npm安装:
npm install -g codiff
或者使用pnpm:
pnpm add -g codiff
使用方法
在Git仓库目录下直接运行:
# 查看所有变更(staged + unstaged)
codiff
# 只查看暂存区变更
codiff --staged
# 只查看未暂存的变更
codiff --unstaged
运行后会自动在浏览器中打开diff视图。
使用场景
提交前审查
在git commit之前,用codiff快速检查所有修改是否正确:
# 先暂存修改
git add .
# 用codiff审查
codiff --staged
# 确认无误后提交
git commit -m "your message"
Code Review
在Pull Request之前,用codiff审查整个分支的变更:
# 查看当前分支相对于main的所有变更
codiff main..HEAD
解决冲突
合并冲突时,用codiff直观地查看冲突内容:
git merge feature-branch
# 遇到冲突后
codiff
与其他工具的对比
| 工具 | 优点 | 缺点 |
|---|---|---|
| git diff | 无需安装、快速 | 不直观、无语法高亮 |
| VS Code diff | 集成度高 | 需要打开IDE、重量级 |
| GitHub | 协作方便 | 需要push、不适合本地审查 |
| Beyond Compare | 功能强大 | 收费、启动慢 |
| codiff | 轻量、好看、本地 | 功能相对简单 |
配置选项
codiff支持通过配置文件自定义行为:
# ~/.codiffrc.json
{
"port": 3000,
"theme": "dark",
"fontSize": 14,
"ignoreWhitespace": true
}
注意事项
- codiff需要Node.js 18+环境
- 大型仓库(文件数过多)可能会影响加载速度
- 目前只支持Git,不支持其他版本控制系统
- 浏览器需要支持现代JavaScript特性
本文参考来源:GitHub: nkzw-tech/codiff
© 版权声明
THE END
















暂无评论内容