A terminal user interface for Git, inspired by Magit, for staging, committing, branching, rebasing and more from the keyboard.
gitui-org/gitui
A terminal UI for git written in Rust, offering keyboard-driven staging, committing, branching, stashing and log browsing.
Open-source alternative to:SourceTree
GitKraken
- Stars
- 22,592
- Forks
- 787
- Open issues
- 350
- Last commit
- 16 days ago
What is it?
GitUI gives you the interactive feel of a git GUI inside your terminal. It is controlled entirely from the keyboard and shows context-sensitive help, so you do not need to memorize a long list of hotkeys.
The tool covers the day-to-day git work that is often awkward on the command line: inspecting and committing changes, staging or reverting individual files, hunks and lines, managing stashes, branches and remotes, and searching the commit log with diffs. It also runs git operations asynchronously to keep the interface responsive on large repositories, and it supports submodules and running commit hooks.
GitUI is written in Rust and distributed through many package managers as well as prebuilt binaries for Linux, macOS and Windows. It is still in beta, and some features such as interactive rebase, git-lfs and sparse checkouts are not yet supported.
Key features
- 01Keyboard-only control with context-based help
- 02Stage, unstage, revert and reset files, hunks and lines
- 03Commit and amend changes, including commit hooks
- 04Stash save, pop, apply, drop and inspect
- 05Push and fetch with remotes, plus branch create, rename, delete and checkout
- 06Search and browse commit log with diffs
Use cases
- Reviewing and staging partial changes without leaving the terminal
- Working on large repositories where graphical git clients become slow
- Managing branches, stashes and remotes over SSH on a server
Quick start
- 1
Install Rust toolchain (version 1.88 or newer) via cargo
- 2
Install gitui with cargo
cargo install gitui --locked - 3
Or install with Homebrew on macOS
brew install gitui - 4
Run gitui inside a git repository
gitui
Things to know
- Still in beta and may contain bugs and missing features.
- No git-lfs support.
- No sparse repository support.
- Does not fully replace the git command line.
Topics
FAQ
- What is gitui?
- A terminal UI for git written in Rust, offering keyboard-driven staging, committing, branching, stashing and log browsing. GitUI gives you the interactive feel of a git GUI inside your terminal. It is controlled entirely from the keyboard and shows context-sensitive help, so you do not need to memorize a long list of hotkeys.
- Is gitui free to use? What license does it have?
- gitui is open source under the MIT license. Check the license terms before using it in commercial products.
- Is gitui still maintained?
- Actively maintained. The last commit to gitui was on Oct 6, 2026.
- What can I use gitui for?
- Reviewing and staging partial changes without leaving the terminal Working on large repositories where graphical git clients become slow Managing branches, stashes and remotes over SSH on a server
- How do I install gitui?
- Install Rust toolchain (version 1.88 or newer) via cargo Install gitui with cargo: cargo install gitui --locked Or install with Homebrew on macOS: brew install gitui Run gitui inside a git repository: gitui
- Where can I get gitui?
- The source code and installation instructions are on GitHub: https://github.com/gitui-org/gitui
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A simple terminal UI for git commands that makes staging, committing, rebasing and branch work faster from the keyboard.
A cat(1) clone for the terminal with syntax highlighting, Git change markers, and automatic paging.
A minimal, customizable cross-shell prompt written in Rust that shows relevant project and environment info.
A text-mode, ncurses-based terminal interface for browsing Git repositories and staging changes by chunk.
A terminal tool that replays Git commits as animated typing sessions with syntax highlighting and file tree transitions.