返回

文章详情

Ziggity – 一个用 Zig 编写的 Git 终端 UI

Hacker News2026年7月20日 15:46

一个快速的、以键盘驱动的 Git 终端 UI — 类似 lazygit 的工作流程,使用 Zig 编写。 Ziggity 带来了核心的 lazygit 工作流程 — 在不离开终端的情况下进行暂存、提交、分支、变基和检查历史 — 到一个小型的、依赖轻量的 Zig 二进制文件。它不是逐行移植:它保留了 lazygit 的感觉,同时依赖于符合习惯的 Zig、明确的内存所有权、普通的 git 子进程(没有 libgit2),以及用于 UI 的 libvaxis。状态面板的关于 splash,配有旋转的 ASCII 精灵。状态、文件、分支、提交和 stash 面板,带有实时 diff 预览和上下文相关的页脚。内容 安装 亮点 截图 特性 快捷键 配置 状态与路线图 开发 赞助 许可 安装 Ziggity 在运行时需要 git 命令在你的 PATH 中 — 它将 git 驱动为一个子进程。可以通过 Homebrew 安装,获取预构建的二进制文件,或从源代码构建。 Homebrew(macOS / Linux) brew install simoarpe/ziggity/ziggity 这将拉取 simoarpe/homebrew-ziggity 并安装二进制文件 — 简短形式为: brew tap simoarpe/ziggity brew install ziggity 使用 brew upgrade ziggity 升级。与下载的二进制文件不同,Homebrew 安装不会被隔离,因此在 macOS 上运行时不会出现 Gatekeeper 提示。手动安装 每个版本发布都附带 macOS、Linux 和 Windows 的静态二进制文件 — 无需 Zig 工具链。 macOS / Linux 从发布页面下载适合你平台的压缩包 — aarch64-macos 或 x86_64-macos 适用于 macOS,x86_64-linux-musl 或 aarch64-linux-musl 适用于 Linux(musl 构建是完全静态的,适用于任何发行版) — 然后: # 设置 VERSION 为最新发布并选择你的操作系统/架构 — 参见发布页面 VERSION=v0.1.0 curl -LO https://github.com/simoarpe/ziggity/releases/download/$VERSION/ziggity-$VERSION-aarch64-macos.tar.gz tar -xzf ziggity-$VERSION-aarch64-macos.tar.gz sudo mv ziggity /usr/local/bin/ # 或者将其放入你的 PATH 中的任何目录 command -v ziggity # 确认它在你的 PATH 中 在 macOS 上,这个二进制文件没有经过公证,因此 Gatekeeper 可能会在首次运行时阻止它。只需清除一次隔离标志: xattr -d com.apple.quarantine /usr/local/bin/ziggity Windows 下载 ziggity-<version>-x86_64-windows-gnu.zip,解压并将 ziggity.exe 放入你的 PATH 目录。需要 Git for Windows。注意:Windows 构建是交叉编译的,尚未在 Windows 上进行烟雾测试 — 暂时将其视为实验性。验证下载(可选)每个版本包括一个 checksums.txt: sha256sum --ignore-missing -c checksums.txt # macOS: shasum -a 256 --ignore-missing -c checksums.txt 从源码编译要求:Zig 0.16.0 和 git 在你的 PATH 中。 git clone https://github.com/simoarpe/ziggity cd ziggity zig build -Doptimize=ReleaseSafe # 二进制文件在 ./zig-out/bin/ziggity zig build test #(可选)运行测试套件 构建后,二进制文件位于 ./zig-out/bin/ziggity。将其添加到你的 PATH 中,这样你就可以在任何地方运行 ziggity — 或者将其复制到已经在你 PATH 中的目录: sudo cp zig-out/bin/ziggity /usr/local/bin/ 或在 .zshrc 或 .bashrc 中添加 zig-out/bin 到你的 PATH: export PATH=“$PWD/zig-out/bin:$PATH” 一旦安装,进入任何 Git 仓库中运行 ziggity。按 ? 以查看应用内快捷键覆盖(它会滚动到你所在的面板),按 q 退出。亮点 整个 lazygit 工作流程 — 状态、文件、分支、提交和 stash 面板,带有 diff 预览和上下文相关的页脚。 Hunk 和行级暂存 — 进入文件以暂存单个行或 hunk,选有并排的未暂存/已暂存分割。 完整交互式变基 — 每个提交的 drop/squash/fixup/edit/reword/move,一个计划编辑器(i),cherry-pick,自定义补丁构建,自动合并,以及从标记的基础进行 rebase --onto。 历史与检查 — 真实的 git log --graph 有向图(ctrl+l),带有第一父母跳转,ref-to-ref diffing(W)具有反向和三点(合并基)模式,GPG 签名验证(x)和日志过滤(/)。 多选 — v / shift+arrows 选择任何列表中的范围,以同时作用于多个文件、提交、分支或 stash;* 选择分支自己的提交。 保持同步 — 安静的后台 git fetch 会自动保持

赞助内容

NordVPN Next-gen Antivirus

本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。

请我喝杯咖啡