GitUI: Blazing fast terminal client for Git written in Rust
Features
- Fast and intuitive keyboard only control
- Context based help (no need to memorize tons of hot-keys)
- Inspect, commit, and amend changes (incl. hooks: commit-msg/post-commit)
- Stage, unstage, revert and reset files and hunks
- Stashing (save, apply, drop, and inspect)
- Browse commit log, diff committed changes
- Scalable terminal UI layout
- Async input polling
- Async git API for fluid control
Benchmarks
For a RustBerlin meetup presentation (slides) I compared lazygit
,tig
and gitui
by parsing the entire Linux git repository (which contains over 900k commits):
Time | Memory (GB) | Binary (MB) | Freezes | Crashes | |
---|---|---|---|---|---|
gitui | 24 s ✅ | 0.17 ✅ | 1.4 | No ✅ | No ✅ |
lazygit | 57 s | 2.6 | 16 | Yes | Sometimes |
tig | 4 m 20 s | 1.3 | 0.6 ✅ | Sometimes | No ✅ |
Installation
brew install gitui