git diff在浏览器里看,push 之前就能看
旧的 重新设计的 diff 审阅方式。
rediff 把任意 git diff 打开成一个快速的 GitHub 风格审阅页面。不用开 PR,也不用先 push:一个二进制文件,在笔记本或远程开发机上都能用。
- Rust 编写
- 20 万行 diff 秒开
- 单个二进制 6–8 MB
- 空闲内存约 13 MB
- 支持远程开发机
$ curl --proto '=https' --tlsv1.2 -LsSf https://github.com/rediff-app/rediff/releases/latest/download/rediff-installer.sh | sh
> powershell -ExecutionPolicy Bypass -c "irm https://github.com/rediff-app/rediff/releases/latest/download/rediff-installer.ps1 | iex"
// 用法
一条命令,任意对比
在仓库里运行 rediff,它会启动本地服务器、打印地址,并自动打开浏览器。
rediff工作区 vs HEAD,包含未跟踪文件rediff --cached暂存区 vs HEADrediff main工作区 vsmainrediff main feature两个分支之间的对比rediff HEAD~3..HEAD -- src提交区间,限定路径
$ rediff main rediff: main ↔ working tree local: http://127.0.0.1:41823/auth?token=5c1f8e0a93d24b7e6f0c2a91d8e4b3f7 network: http://10.0.4.27:41823/auth?token=5c1f8e0a93d24b7e6f0c2a91d8e4b3f7
// 功能
PR 级别的审阅体验,不需要 PR
在 GitHub 上审阅时依赖的功能,现在直接用在你本机的改动上。
双栏或统一视图
随时切换布局。长行自动换行,双栏两侧始终保持对齐。
记录审阅进度
标记 Viewed 自动折叠文件,也可以直接隐藏已读文件。文件内容再次变化时,标记自动取消。
每个提交,一键查看
History 列出当前分支的提交,点开任意一个查看它的改动。给了路径参数时列表也会按路径筛选。
边改边看
rediff 监听工作区、index 和 refs。保存文件后约三分之一秒,页面就会更新。
为远程开发机设计
启动时同时打印本机地址和局域网地址,远程机器上的 diff 可以直接在你笔记本的浏览器里打开。每个 URL 都带一次性 token。
超大 diff 依然流畅
文件滚动到时才加载,只渲染可见的行。20 万行的改动也能满帧滚动。
和 git 完全一致
rediff 直接调用 git,.gitattributes、重命名检测和你配置的 diff.algorithm 都和 git diff 一致。
键盘优先
j k 切换文件,/ 筛选,v 标记已读,c 折叠,? 查看全部快捷键。
// 性能
快在关键的地方
测试对象:505 个文件的对比,其中一个文件改了 20 万行。
// 安装
一行命令安装
- 单个二进制文件,网页界面已内置
- 提供 macOS、Linux、Windows 的 x86_64 和 ARM64 预编译版本
- 随时运行
rediff-update升级
$ curl --proto '=https' --tlsv1.2 -LsSf https://github.com/rediff-app/rediff/releases/latest/download/rediff-installer.sh | sh
> powershell -ExecutionPolicy Bypass -c "irm https://github.com/rediff-app/rediff/releases/latest/download/rediff-installer.ps1 | iex"
git clone https://github.com/rediff-app/rediff
cd rediff
make install
安装到 ~/.cargo/bin。从源码构建需要 Rust、Node.js 20+ 和 git。各平台的压缩包见 GitHub Releases。
// 常见问题
常见问题
怎么在浏览器里查看 git diff?
安装 rediff,在仓库里运行 rediff。它会启动本地服务器、打印地址,并自动打开浏览器。想对比别的内容,加上分支或提交区间即可,比如 rediff main 或 rediff HEAD~3..HEAD。
怎么在 push 或开 PR 之前审阅自己的改动?
运行 rediff 查看工作区和 HEAD 的差异,包含未跟踪文件;运行 rediff --cached 只看已暂存的内容。所有内容都从本地仓库读取,不需要先 push。
能审阅远程开发机上的 diff 吗?可以通过 SSH 吗?
可以。把二进制文件复制到远程机器,在笔记本的浏览器里打开打印出的 network 地址。这个地址是明文 HTTP,在不可信的网络上请使用 --host 127.0.0.1 配合 SSH 端口转发。
rediff 能处理多大的 diff?
一个改了 20 万行的文件约 300 毫秒加载完成,并能满帧滚动,因为文件滚动到时才加载,且只渲染可见的行。上限是所有展开文件合计约 150 万显示行。
运行 rediff 需要什么?
只需要 git。服务器、网页界面和 39 种语言的语法高亮都编译进了一个可执行文件,不需要 Node.js、运行时或配置。支持 macOS、Linux 和 Windows。
我的代码会离开本机吗?
不会。rediff 是本地服务器,用 git 读取仓库并自己提供页面,没有云服务,也不需要账号。每个 URL 都带一次性 token,没有它就读不了 API。