介绍
Gitwright 是一个免费的桌面 Git 客户端。界面用原生控件绘制,编译成单个可执行文件;所有 Git 操作交给系统里的 git 执行,没有虚拟分支,也没有改写你的工作流。
是什么
- 原生界面,不是套壳。 没有 Electron、没有 WebView、没有 Node 运行时,也没有前端构建产物。
- 普通 Git。 暂存、提交、同步、改写历史都通过系统
git完成;你在应用里做的事,在终端里能复现。 - 精确暂存。 文件、片段(hunk)和行都能单独暂存,并且绑定你当时看到的那份 diff;内容变了就拒绝写入,不会把过期的内容塞进索引。
- 可回退的破坏性操作。 丢弃、硬重置、带租约强推、删除 Stash、中止操作之前,都会先写恢复快照。
- 可选的 AI。 ACP Agent 可以起草提交信息、解释 diff、审阅选中的变更;它只给建议,不会替你暂存、提交或推送。
给谁用
适合每天要在终端和图形界面之间来回切换的人:
- 想把一个片段拆成两次提交,而不是
git add -p反复确认; - 需要读历史、追 blame、改写最近几条提交;
- 同时开着几个仓库,想在一个地方看到谁有未提交改动;
- 希望强推、硬重置这类操作有后悔药,而不是只靠 reflog。
如果你只想要一个「点一下就提交全部」的按钮,这里的密度会偏高。
签名循环
日常最常用的一条路径,全部在键盘上完成:
⌘⇧G / Ctrl+Shift+G 回到工作台(或启动即恢复上次仓库)
↑ / ↓ 选文件
Space 暂存选中文件
⌘⏎ / Ctrl+Enter 写提交信息后提交
⌘⇧P / Ctrl+Shift+P 推送结果在同一帧里出现:左侧「变更」立即区分已暂存、未暂存与冲突,中间是当前文件的 diff,底部是提交框。提交后状态栏会显示提交号、撤销入口和推送入口。
哪些数据不出本机
仓库内容、diff、偏好设置、恢复快照与日志都留在磁盘上。没有账号,没有遥测,没有云同步。
会连接网络的只有你主动触发的操作(同步、拉取请求、可选的 Agent)、你开启的自动获取,以及默认开启的更新检查;更新检查可以在「设置 → 更新」关闭。细节见隐私政策。
依赖系统 git
应用不自带 Git 实现,也不修改你的 git 配置去适配自己。
- 需要
git在PATH中; - Git LFS 仓库需要
git-lfs; - 应用看不到终端
PATH时(例如 macOS 上的 Homebrew),可在「设置 → Git」里填git的绝对路径并测试。
不做什么
- 不做操作系统级沙箱。ACP Agent 是独立进程,只连接你信任的 Agent,见 ACP Agent。
- 不做云同步、账号体系或团队协作服务。
- 不在后台偷偷改写历史;所有改写都有明确的确认步骤和记录。
最后更新于