codiff:一个漂亮的本地Git diff查看器,提交前快速审查代码变更

用命令行看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
喜欢就支持一下吧
点赞14分享
评论 抢沙发

请登录后发表评论

    暂无评论内容