用 Rust 編寫的 Git 極速終端 UI
GitUI 是一個用 Rust 編寫的用于 git 的終端 UI,我們的目標是在不離開你心愛的命令行終端窗口的情況下,以快速、只需鍵盤和跨平臺的方式簡化常見的 git 任務。

我的大部分 git 工作都是在終端進行的,但我也經常發現自己在一些場景下會使用 git GUI,比如:index、commit、diff、stash、blame 和日志等操作。
不過一些流行的 git GUI 應用在大型倉庫中就會出現各種問題,為解決這些問題,最終我決定用 Rust 開發了 GitUI。
GitUI 具有如下一些特性:
- 快速和直觀的鍵盤控制
- 基于上下文的幫助(不需要記住大量的快捷鍵)
- 檢查、提交和修改變化(包括hooks:commit-msg/post-commit)
- 暫存、取消暫存、恢復和重置文件、代碼行
- 存儲(保存、Pop、應用、刪除和檢查)
- Push/Fetch/從遠程
- 分支列表(創建、重命名、刪除、checkout、遠程)
- 瀏覽提交日志,對已提交的修改進行比較
- 可擴展的終端布局
- 用于控制流的異步 git API
解析整個 Linux 的 git 倉庫(包含超過90萬個提交)比較了 lazygit、tig 和 gitui 的性能,得到了如下所示的結果:
不過目前而言,這個產品還處于 alpha 階段。當然對于個人用戶來說,它是相當穩定的,而且我在開發 GitUI 本身的時候也在用他自己。要安裝的話是非常簡單的。
Homebrew (macOS)
- brew install gitui
Scoop (Windows)
- scoop install gitui
Chocolatey (Windows)
- choco install gitui
也可以直接在 Releases 頁面下載二進制文件進行安裝:https://github.com/extrawurst/gitui/releases
此外我們也可以自己使用源碼進行構建,需要最新的 rust 和 cargo,并且安裝配置好,開始使用 gitui 的最簡單方法就是讓 cargo 構建并使用 cargo install gitui 來安裝它。
gitui 還可以自動在淺色和深色終端主題上工作。當然你也可以根據自己的喜好進行定制。可以查看主題介紹:https://github.com/extrawurst/gitui/blob/master/THEMES.md
倉庫地址:https://github.com/extrawurst/gitui