只提交你选中的那几行。
取消勾选某一处改动,或者选中几行不提交,这次只提交其余部分;没提交的留在工作区,下次再说。
- 修改上次提交(Amend)、撤销刚才的提交,⌥⌘K 提交并推送。
- Git 钩子照常运行,失败时显示原始输出。
- 回滚整个文件或单处改动,⌘Z 就能找回。
DiffCode 是一个轻量的原生 Mac Git 客户端。并排查看每一处代码改动——你自己的、同事的,或者 coding agent 的——只提交你想提交的那几行。平时只占 30–50 MB 内存。
4MB
IDE 的安装包动辄上 GB。DiffCode 的安装包只有 4 MB 左右,不用注册账号,也没什么要配置的:下载、打开一个仓库就能用;不合适,直接拖进废纸篓。
为了看一眼改了什么,代码补全、编译、索引和一堆插件也跟着启动:打开要等,还要占掉几个 GB 内存。AI 和同事写的代码越来越多,看改动这件事一天要做很多遍。DiffCode 是更轻量的选择:只留下你真正要用的部分——Git diff、提交和历史。
DiffCode 首先是一个 Git diff 工具,其次才是 Git 可视化客户端:每个功能都围绕三件事——读懂改动、决定留下什么、把它提交。
取消勾选某一处改动,或者选中几行不提交,这次只提交其余部分;没提交的留在工作区,下次再说。
在内置终端里跑 Claude Code、Codex 或任何命令行 agent,它改的每个文件都实时出现在上方的 diff 里:哪行不对直接改,不要的回滚,满意的才提交。

点分支名打开 Git 树:左边分支、标签、远程,右边提交图,用下拉框展示,不额外占一栏。检出、合并、变基、拣选、还原、重置,做完都能撤销。

每处冲突上都有「保留 HEAD」「采用传入」「两者都要」。横幅一直显示合并或变基的进度,可以继续、跳过或中止,解决完提交合并。

侧边栏列出所有项目,带分支、领先 / 落后数和变更数。⇧⇧ 随处搜索,查找文件支持驼峰模糊匹配,基于 git grep 的在文件中查找可以跨所有项目。

在 diff 的工作区一侧直接打字,停手约 1 秒自动保存,编码和换行符逐字节保持原样。
词级高亮、曲线连接带、变更总览条,⌥⌘V 在两种视图之间切换。
Kotlin、Java、Swift、TypeScript、Python、Go、Rust、C/C++、C#、Dart 等,还能对比图片、忽略空白。
暂存本地改动,在列表里应用、弹出或删除,删除也能撤销。
在仓库里运行 dif,或者 dif ~/work/app ~/work/lib,就能在 DiffCode 里打开;也可以把文件夹拖进侧边栏。
深色、浅色或跟随系统,代码、界面、终端字号分别可调;界面语言跟随系统,也能在设置里切换。
DiffCode 里所有操作都有快捷键,在应用里按 ⌘/ 查看全部。
只有你获取、拉取、推送时(通过你自己的 git、凭据和 SSH agent),以及检查更新时才会联网。
刷新、diff、搜索都不写仓库,也不占 index.lock,可以和 IDE、agent 同时开着。
回滚、删除、改写历史都能撤销;删除的文件进废纸篓,危险操作先确认。
免费。DiffCode 是开源软件,采用 GNU 通用公共许可证 v3.0,没有账号、订阅或付费版本,源码在 GitHub 上。
它是 Mac 上的 Git diff 和代码对比工具,用来查看和提交 Git 仓库里的改动:并排或单栏显示 diff,可以直接改、按行提交,也能处理分支、历史、Stash 和合并冲突。它不是代码编辑器,也不是 IDE。
IDE 会同时启动代码补全、编译、索引和插件,常常要占几个 GB 内存。DiffCode 只保留 diff、提交、历史和终端,所以打开快,平时只占 30–50 MB 内存。
安装包大约 4 MB,装好后大约 8 MB。它是原生 AppKit 应用,没有打包浏览器内核或额外的运行时,所以启动快,平时只占 30–50 MB 内存。
能。在 DiffCode 的内置终端里(或者任何地方)运行 agent,它改的每个文件都会实时出现在 diff 里。「与分支比较」可以一次看完 agent 自分叉以来的全部改动。
能。取消勾选某一处改动,或者选中几行不提交,这些改动会留在工作区,下次再提交。
你不动手,它就不写入。刷新、diff 和搜索都不写仓库,也不占 index.lock,可以和 IDE、终端、agent 同时开着。
运行 macOS 14 Sonoma 及以上的 Apple Silicon Mac,Intel Mac 未经测试。应用经过 Apple 签名和公证。
应用会自己检查更新,并在应用内安装新版本。你也可以随时在 GitHub 下载最新版本。