A blazing fast terminal user interface for Git, written in Rust, offering GUI-like comfort directly in your terminal.
GitUI is a terminal-based user interface for Git that combines the speed and efficiency of the command line with the visual comfort of a graphical interface. It is designed to handle large repositories without performance issues, providing a responsive and fluid experience for common Git workflows like staging, committing, branching, and log browsing.
Developers and system administrators who primarily work in the terminal but want a more visual and interactive way to manage Git repositories, especially those dealing with large codebases where traditional Git GUIs become slow or unresponsive.
Developers choose GitUI for its exceptional performance on large repositories, its keyboard-only control for efficiency, and its context-based help that reduces the need to memorize hotkeys. It offers a GUI-like experience directly in the terminal without the slowdowns associated with other graphical Git tools.
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.
Benchmarks show GitUI processes the Linux kernel repository (over 900k commits) in 24 seconds, using only 0.17 GB memory, outperforming lazygit and tig significantly.
It offers keyboard-only control with context-based help, reducing the need to memorize hotkeys and enabling efficient workflows directly in the terminal.
Supports a wide range of Git operations including staging lines/hunks, submodule management, commit signing, stash handling, and push/fetch, covering most common needs.
Provides a responsive, visual interface within the terminal, avoiding the slowdowns of traditional GUIs on large repositories while maintaining portability.
Lacks interactive rebase and Git LFS support, with branching structure visualization still on the roadmap, making it incomplete for some advanced workflows.
Requires explicit configuration of credential.helper for HTTPS remotes, which can be a setup barrier and is noted as a known limitation in the README.
Being in beta, it may have bugs or missing features; the project admits it doesn't fully substitute the git shell and prioritizes specific use-cases over completeness.