A blazing fast terminal user interface for Git written in Rust, providing GUI-like comfort directly in your terminal.
GitUI is a terminal user interface for Git written in Rust that provides a fast, keyboard-driven alternative to graphical Git clients. It solves the problem of sluggish GUI performance on large repositories by offering a responsive, terminal-native experience with features like staging hunks, managing stashes, and browsing commit logs.
Developers and system administrators who work extensively with Git in the terminal but occasionally need GUI-like functionality for complex operations like interactive staging, stash management, or commit history exploration.
GitUI stands out for its exceptional performance on large repositories, its intuitive keyboard-only interface with contextual help, and its ability to handle advanced Git operations without the lag or resource consumption of traditional graphical clients.
Blazing 💥 fast terminal-ui for git written in rust 🦀
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Offers fast, keyboard-only navigation with context-based help, eliminating the need to memorize hotkeys, as highlighted in the features section.
Benchmarks show GitUI parses the Linux kernel repo in 24 seconds with only 0.17 GB memory, significantly outperforming competitors like lazygit and tig.
Allows staging, unstaging, reverting, and resetting at the file, hunk, or line level, providing granular control over changes without command-line complexity.
Uses an async Git API for non-blocking operations, ensuring a fluid UI experience even during intensive Git tasks, as noted in the async git API feature.
Lacks support for Git LFS, sparse repos, and interactive rebase, with these admitted as limitations or roadmap items in the README.
The README states it doesn't fully substitute the git shell yet, requiring users to fall back to command-line Git for some operations.
Requires explicit configuration of credential.helper for HTTPS remotes, which can be a setup barrier and is listed as a known limitation.