
Terminal-based Git UI with keyboard-only control for staging, committing, stashing, and browsing repository history
GitUI is a terminal-based Git interface that provides GUI-like functionality through keyboard-only controls. The tool enables users to stage files, hunks, and lines, manage commits (including amends with hook support), handle stashing operations, and browse commit history with search capabilities. It supports branch management including creation, deletion, checkout, and remote operations, along with push/fetch functionality.
The application uses an async Git API to maintain responsiveness and includes context-based help to reduce the need to memorize keybindings. GitUI handles submodules, supports GPG commit signing, and offers customizable themes and key bindings. Performance benchmarks show it parsing the entire Linux repository (900k+ commits) in 24 seconds using only 0.17GB of memory, significantly outperforming alternatives like lazygit and tig.
Developers who frequently switch between terminal Git workflows and GUI tools for specific tasks like staging, diffing, or log browsing will find GitUI useful. While it doesn't fully replace the Git shell for all operations, it excels at visual tasks that are cumbersome in command-line Git, particularly in large repositories where traditional Git GUIs become unresponsive.
# via Homebrew
brew install gitui
# via Cargo
cargo install gitui --locked
# via Arch Linux
pacman -S gitui
