gitui-org

    gitui-org/gitui

    Blazing 💥 fast terminal-ui for git written in rust 🦀

    cli
    async
    bash
    command-line-interface
    command-line-tool
    git
    hacktoberfest
    rust
    terminal
    tui
    Rust
    MIT
    21.6K stars
    705 forks
    21.6K watching
    Updated 3/28/2026
    View on GitHub
    Backblaze Advertisement

    Loading star history...

    Health Score

    75

    Weekly Growth

    +62

    +0.3% this week

    Contributors

    1

    Total contributors

    Open Issues

    288

    Generated Insights

    About gitui

    CI crates MIT UNSAFE TWEET dep_status discord

    GitUI provides you with the comfort of a git GUI but right in your terminal

    Table of Contents

    1. Features
    2. Motivation
    3. Benchmarks
    4. Roadmap
    5. Limitations
    6. Installation
    7. Build
    8. FAQs
    9. Diagnostics
    10. Color Theme
    11. Key Bindings
    12. Sponsoring
    13. Inspiration
    14. Contributing
    15. Contributors

    1. Features Top ▲

    • Fast and intuitive keyboard only control
    • Context based help (no need to memorize tons of hot-keys)
    • Inspect, commit, and amend changes (incl. hooks: pre-commit,commit-msg,post-commit,prepare-commit-msg)
    • Stage, unstage, revert and reset files, hunks and lines
    • Stashing (save, pop, apply, drop, and inspect)
    • Push / Fetch to / from remote
    • Branch List (create, rename, delete, checkout, remotes)
    • Browse / Search commit log, diff committed changes
    • Responsive terminal UI
    • Async git API for fluid control
    • Submodule support
    • gpg commit signing with shortcomings (see #97))

    2. Motivation Top ▲

    I do most of my git work in a terminal but I frequently found myself using git GUIs for some use-cases like: index, commit, diff, stash, blame and log.

    Unfortunately popular git GUIs all fail on giant repositories or become unresponsive and unusable.

    GitUI provides you with the user experience and comfort of a git GUI but right in your terminal while being portable, fast, free and opensource.

    3. Benchmarks Top ▲

    For a RustBerlin meetup presentation (slides) I compared lazygit,tig and gitui by parsing the entire Linux git repository (which contains over 900k commits):

    TimeMemory (GB)Binary (MB)FreezesCrashes
    gitui24 s0.1710NoNo
    lazygit57 s2.625YesSometimes
    tig4 m 20 s1.30.6SometimesNo

    4. Road(map) to 1.0 Top ▲

    These are the high level goals before calling out 1.0:

    • visualize branching structure in log tab (#81)
    • interactive rebase (#32)
    • no git-lfs support (see #2812)

    5. Known Limitations Top ▲

    • no sparse repo support (see #1226)
    • credential.helper for https needs to be explicitly configured (see #800)

    Currently, this tool does not fully substitute the git shell, however both tools work well in tandem.

    The priorities for gitui are on features that are making me mad when done on the git shell, like stashing, staging lines or hunks. Eventually, I will be able to work on making gitui a one stop solution - but for that I need help - this is just a spare time project for now.

    All support is welcomed! Sponsors as well! ❤️

    6. Installation Top ▲

    GitUI is in beta and may contain bugs and missing features. However, for personal use it is reasonably stable and is being used while developing itself.

    Packaging status

    Various Package Managers

    Install Instructions
    Arch Linux
    pacman -S gitui
    
    Fedora
    sudo dnf install gitui
    
    Gentoo

    Available in dm9pZCAq overlay

    sudo eselect repository enable dm9pZCAq
    sudo emerge --sync dm9pZCAq
    sudo emerge dev-vcs/gitui::dm9pZCAq
    
    openSUSE
    sudo zypper install gitui
    
    Homebrew (macOS)
    brew install gitui
    
    MacPorts (macOS)
    port install gitui
    
    Winget (Windows)
    winget install gitui
    
    Scoop (Windows)
    scoop install gitui
    
    Chocolatey (Windows)
    choco install gitui
    
    Nix (Nix/NixOS)

    Nixpkg

    nix-env -iA nixpkgs.gitui
    

    NixOS

    nix-env -iA nixos.gitui
    
    Termux (Android)
    pkg install gitui
    
    Anaconda
    conda install -c conda-forge gitui
    

    Release Binaries

    Available for download in releases

    Binaries available for:

    Linux

    • gitui-linux-x86_64.tar.gz (linux musl statically linked)
    • gitui-linux-aarch64.tar.gz (linux on 64 bit arm)
    • gitui-linux-arm.tar.gz
    • gitui-linux-armv7.tar.gz

    All contain a single binary file

    macOS

    • gitui-mac.tar.gz (arm64)
    • gitui-mac-x86.tar.gz (intel x86)

    Windows

    • gitui-win.tar.gz (single 64bit binary)
    • gitui-win.msi (64bit Installer package)

    Nightly Builds

    see NIGHTLIES.md

    7. Build Top ▲

    Requirements

    Cargo Install

    The simplest way to start playing around with gitui is to have cargo build and install it with cargo install gitui --locked. If you are not familiar with rust and cargo: Getting Started with Rust

    Cargo Features

    trace-libgit

    enable libgit2 tracing

    works if libgit2 built with -DENABLE_TRACE=ON

    this feature enabled by default, to disable: cargo install --no-default-features

    8. FAQs Top ▲

    see FAQs page

    9. Diagnostics Top ▲

    To run with logging enabled run gitui -l.

    This will log to:

    • macOS: $HOME/Library/Caches/gitui/gitui.log
    • Linux using XDG: $XDG_CACHE_HOME/gitui/gitui.log
    • Linux: $HOME/.cache/gitui/gitui.log
    • Windows: %LOCALAPPDATA%/gitui/gitui.log

    10. Color Theme Top ▲

    gitui should automatically work on both light and dark terminal themes.

    However, you can customize everything to your liking: See Themes.

    11. Key Bindings Top ▲

    The key bindings can be customized: See Key Config on how to set them to vim-like bindings.

    12. Sponsoring Top ▲

    github

    13. Inspiration Top ▲

    14. Contributing Top ▲

    See CONTRIBUTING.md.

    15. Contributors Top ▲

    Thanks goes to all the contributors that help make GitUI amazing! ❤️

    Wanna become a co-maintainer? We are looking for you!

    Discover Repositories

    Search across tracked repositories by name or description