返回目录
开源项目开发者工具类新手

gitui — 用 Rust 编写的极速终端 Git 界面(TUI)

GitUI 把 Git GUI 的操作体验搬进终端:纯键盘操作、上下文帮助、暂存/提交/修改、分支与远程管理、Stash、提交日志浏览与 diff 等,主打在超大型仓库中依然快速不卡顿(解析含 90 万+ 提交的 Linux 仓库仅需 24 秒、占用 0.17GB 内存)。项目处于 beta 阶段,尚未完全替代 git shell。

0 次阅读2026/09/10 发布
gitui — 用 Rust 编写的极速终端 Git 界面(TUI) 来源图片

社区作者 · zZz

它解决什么问题

GitUI 的目标是:给你 Git 图形界面的舒适体验,但直接运行在终端里。作者日常在终端里做 Git 工作,却常常为了 index、commit、diff、stash、blame、log 等场景切换到 Git GUI,而流行的 Git GUI 在巨型仓库上会卡死或失去响应,于是有了 GitUI——便携、快速、免费、开源。

核心特性(Features):

  1. 快速且直观,纯键盘控制;
  1. 基于上下文的帮助(无需记忆大量快捷键);
  1. 查看、提交与 amend 变更,支持 hooks:pre-commit、commit-msg、post-commit、prepare-commit-msg;
  1. 对文件、hunk 和行进行 stage / unstage / revert / reset;
  1. Stash 支持 save、pop、apply、drop 与查看;
  1. Push / Fetch 远程仓库;
  1. 分支列表(创建、重命名、删除、checkout、远程分支);
  1. 浏览/搜索提交日志,查看已提交变更的 diff;
  1. 响应式终端 UI;
  1. 异步 Git API,操作流畅;
  1. 支持 Submodule;
  1. 支持 gpg 提交签名(存在已知不足,见 issue #97)。

Benchmarks(解析整个 Linux Git 仓库,包含 90 万+ 提交,用于 RustBerlin 分享):

  • gitui:24 秒、内存 0.17 GB、二进制 10 MB、无卡死、无崩溃;
  • lazygit:57 秒、内存 2.6 GB、二进制 25 MB、有卡死、偶尔崩溃;
  • tig:4 分 20 秒、内存 1.3 GB、二进制 0.6 MB、偶尔卡死、无崩溃。

Roadmap(1.0 之前的高层目标):

  • 在 log 标签页可视化分支结构(#81);
  • 交互式 rebase(#32);
  • 不支持 git-lfs(见 #2812)。

已知限制(Known Limitations):

目前该工具还不能完全替代 git shell,两者配合使用效果良好;gitui 的重点放在那些在 git shell 上做起来令人抓狂的功能(如 stash、逐行或逐 hunk 暂存)。

  • 不支持 sparse repo(稀疏仓库,见 #1226);
  • https 的 credential.helper 需要显式配置(见 #800)。

视觉资料:配图 1 为项目 logo;配图 2 为 deps.rs 依赖状态徽章;配图 3 为 demo 动图,展示终端内的实际操作流程;配图 4 为 light-theme 浅色主题界面截图;配图 5 为贡献者头像墙。

主题与键位:gitui 应能自动适配浅色和深色终端主题,也可完全自定义(见 Themes 文档);键位可自定义,支持设置为 vim 风格绑定(见 Key Config)。

灵感来源:lazygit、tig、GitUp、git-brunch(并希望未来能在终端工具中提供 map 视图)。

许可证:来源正文未明确给出许可证名称与版本,待核验。

适用对象:习惯在终端工作、需要频繁做暂存/提交/Stash/日志 diff 的开发者;在巨型仓库中受够 GUI 卡顿的工程师;希望用纯键盘完成 Git 操作的 Vim 用户。

— 本文由 AI 根据公开来源辅助整理,命令、版本与许可证请在使用前到原始页面复核。

安装 / 开始使用

一、准备环境

  • 需要一个可用的终端与 Git 仓库(工具本身即为操作 Git 使用)。
  • 若使用发布二进制或包管理器安装,一般无需额外运行时依赖。

若自行编译:最低支持的 Rust / Cargo 版本为 1.88(见 Install Rust 指引);构建 openssl 依赖需要 perl >= 5.12(Windows 可用 strawberry perl,https://strawberryperl.com/ );需要一个 C 编译器(msvc、gcc 或 clang,

可复制命令
cargo 会自动查找

);运行完整测试套件需要 python,且必须以 python 命令调用。

二、通过包管理器安装(按平台直接执行)

Arch Linux:

可复制命令
pacman -S gitui

sudo eselect repository enable dm9pZCAq sudo emerge --sync dm9pZCAq sudo emerge dev-vcs/gitui::dm9pZCAq

  • Fedora:sudo dnf install gitui
  • Gentoo(在 dm9pZCAq overlay 中):
  • openSUSE:sudo zypper install gitui

Homebrew (macOS):

可复制命令
brew install gitui
  • MacPorts (macOS):port install gitui
可复制命令
Winget (Windows):winget install gitui
可复制命令
Scoop (Windows):scoop install gitui

Chocolatey (Windows)

Chocolatey (Windows)
choco install gitui
  • Mise:mise use -g gitui@latest
  • Nixpkg:nix-env -iA nixpkgs.gitui
  • NixOS:nix-env -iA nixos.gitui
  • Termux (Android):pkg install gitui

Anaconda:

可复制命令
conda install -c conda-forge gitui

三、使用发布二进制(releases 页面下载) 可用平台与文件:

夜间构建(Nightly Builds)参见仓库中的 NIGHTLIES.md。

  • Linux:gitui-linux-x86_64.tar.gz(linux musl 静态链接)、gitui-linux-aarch64.tar.gz(64 位 arm)、gitui-linux-arm.tar.gz、gitui-linux-armv7.tar.gz;均为单个二进制文件。
  • macOS:gitui-mac.tar.gz(arm64)、gitui-mac-x86.tar.gz(intel x86)。
  • Windows:gitui-win.tar.gz(单个 64 位二进制)、gitui-win.msi(64 位安装包)。

四、从源码编译安装(Cargo) 最简单的上手方式是用 cargo 构建并安装:

命令
cargo install gitui --locked

如果不熟悉 Rust / Cargo,可先看 “Getting Started with Rust”。

命令
Cargo Features:

trace-libgit:启用 libgit2 tracing,需 libgit2 以 -DENABLE_TRACE=ON 构建;该 feature 默认启用,如需关闭:

可复制命令
cargo install --no-default-features

五、首次运行与诊断

macOS:$HOME/Library/Caches/gitui/gitui.log Linux(XDG):$XDG_CACHE_HOME/gitui/gitui.log Linux:$HOME/.cache/gitui/gitui.log Windows:%LOCALAPPDATA%/gitui/gitui.log

  • 启用日志运行:gitui -l
  • 日志输出位置:

六、常见问题与配置

  • 常见问题见 FAQ 页面(FAQs)。
  • 主题:默认应适配浅色与深色终端;如需自定义全部颜色见 Themes 文档(配图 4 为 light-theme 效果)。
  • 键位:可自定义,支持改为 vim 风格绑定,见 Key Config 文档。
  • https 场景下 credential.helper 需要显式配置(见 issue #800)。
  • 不支持稀疏仓库(sparse repo,见 #1226),也未支持 git-lfs(见 #2812)。
  • 项目处于 beta,可能存在 bug 与缺失功能;作者称个人使用已相当稳定,并且开发过程本身就在使用它。

来源教程配图

教程配图
配图 1 · 教程配图查看原图
dep_status
配图 2 · dep_status查看原图
教程配图
配图 3 · 教程配图查看原图
教程配图
配图 4 · 教程配图查看原图
教程配图
配图 5 · 教程配图查看原图

适用场景

在终端中完成 Git 的索引
提交与 amend 操作
对文件
hunk 和代码行进行精确的 stage / unstage / revert / reset
管理 Stash(save
pop
apply
drop
查看)
浏览与搜索提交日志
查看已提交变更的 diff
分支的创建