GitUI:终端里的 Git 图形界面
用 Rust 编写的终端 Git 图形界面工具,为命令行用户提供快速、轻量的提交、分支与暂存操作体验。
- 浏览
- 4
- 访问
- 0
- 下载
- 0
- 版本
- v0.28.1
- 平台
- Windows、macOS、Linux
详细介绍
项目简介
GitUI 是一个用 Rust 编写的终端 Git 界面(TUI)。作者日常的 git 操作都在终端里完成,但索引、提交、diff、stash、blame、log 这类场景又常常需要打开图形界面客户端;而流行的 Git GUI 在超大仓库上往往卡顿甚至无响应。GitUI 的目标就是把 Git GUI 的舒适体验搬进终端,同时保持可移植、快速、免费和开源。
GitUI 目前处于 beta 阶段,可能仍有缺陷和缺失功能,但就个人使用而言已经相当稳定——项目本身就是在 GitUI 里开发的。它的定位不是完全取代 git 命令行,而是与命令行配合使用,重点解决在 shell 里操作起来繁琐的环节,例如 stash、按行或按块暂存。
主要功能
- 快速、直观的纯键盘操作
- 基于上下文的帮助提示,无需记忆大量快捷键
- 查看、提交和修补(amend)改动,支持 pre-commit、commit-msg、post-commit、prepare-commit-msg 钩子
- 对文件、代码块(hunk)和行进行暂存、取消暂存、还原和重置
- Stash 管理:保存、pop、apply、drop 与查看
- Push / Fetch 远程仓库
- 分支列表:创建、重命名、删除、切换、查看远程分支
- 浏览与搜索提交日志,查看已提交改动的 diff
- 响应式终端界面,异步 git API 保证操作流畅
- 支持 submodule
- 支持 gpg 提交签名(存在已知不足,见 #97)
性能对比
作者在一次 RustBerlin 分享中,用包含 90 多万次提交的 Linux 仓库对比了 lazygit、tig 和 gitui:
| 耗时 | 内存 (GB) | 二进制 (MB) | 卡死 | 崩溃 | |
|---|---|---|---|---|---|
gitui |
24 s ✅ | 0.17 ✅ | 10 | 否 ✅ | 否 ✅ |
lazygit |
57 s | 2.6 | 25 | 是 | 有时 |
tig |
4 m 20 s | 1.3 | 0.6 ✅ | 有时 | 否 ✅ |
安装与使用
GitUI 已进入多个发行版和包管理器仓库,常用安装方式:
# macOS
brew install gitui
# Windows
winget install gitui
scoop install gitui
choco install gitui
# Arch Linux
sudo pacman -S gitui
# Fedora
sudo dnf install gitui
# openSUSE
sudo zypper install gitui
# 通过 cargo 从源码安装
cargo install gitui --locked
此外还支持 Gentoo overlay、MacPorts、Mise、Nix/NixOS、Termux、Anaconda 等方式,官方 Releases 页面也提供 Linux(x86_64 / aarch64 / arm / armv7)、macOS(arm64 / intel x86)和 Windows(单文件二进制与 msi 安装包)的预编译包。
从源码构建需要:
rust/cargo最低版本1.88- 构建 openssl 依赖需要 perl >= 5.12 和一个 C 编译器(msvc、gcc 或 clang)
- 运行完整测试套件需要 python(且能以
python命令调用)
诊断与自定义
以 gitui -l 启动会开启日志,日志位置:
- macOS:
$HOME/Library/Caches/gitui/gitui.log - 使用
XDG的 Linux:$XDG_CACHE_HOME/gitui/gitui.log - Linux:
$HOME/.cache/gitui/gitui.log - Windows:
%LOCALAPPDATA%/gitui/gitui.log

GitUI 会自动适配浅色和深色终端主题,也可以按 THEMES.md 完全自定义配色;按键绑定同样可改,参见 KEY_CONFIG.md,可配置为类似 vim 的绑定。
注意事项
当前已知限制:
在 1.0 之前,项目计划中的高层目标还包括在 log 标签页中可视化分支结构(#81)和交互式 rebase(#32)。
本作品整理自 GitHub 开源项目 gitui-org/gitui,原作者 @gitui-org,许可证 MIT。中文介绍由 AI 根据项目 README 整理,以原仓库为准。
更新记录
- v0.28.1当前版本
支持正式的 pre-push hook,改进 gitui --version 输出,Rust 最低版本升至 1.88;修复大仓库状态加载极慢的问题,以及无远程仓库时重命名或更新 remote URL 的崩溃。
评论