
Terminal-based Git GUI for staging, committing, branching, and repository management with keyboard-only control
GitUI is a terminal user interface for Git operations that combines the visual benefits of GUI tools with the efficiency of terminal-based workflows. The tool provides keyboard-only control for common Git tasks including staging and unstaging files, hunks, and lines, managing commits and amendments, stashing operations, branch management, and push/fetch operations to remotes.
The application focuses on performance and responsiveness, particularly with large repositories. Benchmark comparisons show GitUI parsing the Linux kernel repository (900k+ commits) in 24 seconds using 0.17GB memory, significantly faster than alternatives like lazygit (57 seconds, 2.6GB) and tig (4 minutes 20 seconds, 1.3GB). The tool includes context-based help to reduce the need to memorize hotkeys.
Key features include commit log browsing with search capabilities, submodule support, GPG commit signing, customizable themes and key bindings, and an async Git API for fluid interaction. GitUI supports common Git hooks (pre-commit, commit-msg, post-commit, prepare-commit-msg) and provides detailed diff viewing for committed changes. The tool is designed for developers who want GUI-like Git functionality without leaving the terminal environment.
# via Homebrew
brew install gitui
# via Cargo
cargo install gitui --locked
# via Arch Linux
pacman -S gitui
