gitui

gitui-orgMIT活跃维护

用 Rust 写的极速 Git 终端界面,在命令行里浏览提交、暂存改动、管理分支,比敲 git 命令直观得多。

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

v0.28.1发布于 2026-03-24 23:26 UTC22,638star +5 / 7 天797fork同步于 2026-11-10 05:22 UTC

怎么上手

从 README 代码块原样提取,可能是其中一种安装方式
brew install gitui
winget install gitui
conda install -c conda-forge gitui
硬件要求

README 没有说明硬件要求。

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

这个项目的说明还在生成中,先参考下面「最近发版」和 README。

这个条目还没有人工点评。如果它对你很有用,欢迎到 提交仓库 页写下你的使用经验。

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    最近发版

    5 个版本v0.28.1
    1. v0.28.1最新正式版2026-03-24 · 2026-03-24 23:26 UTC

      Changed

      • support proper pre-push hook (#2809)
      • improve gitui --version message [@hlsxx] (#2838)
      • rust msrv bumped to 1.88

      Fixed

      • fix extremely slow status loading in large repositories by replacing time-based cache invalidation with generation counter [@DannyStoll1] (#2823)
      • fix panic when renaming or updating remote URL with no remotes configured [@xvchris] (#2868)
    2. v0.28.1-rc.1pre-release2026-03-21 · 2026-03-21 13:00 UTC
      查看更新说明

      Changed

      • support proper pre-push hook (#2809)
      • improve gitui --version message [@hlsxx] (#2838)
      • rust msrv bumped to 1.88

      Fixed

      • fix extremely slow status loading in large repositories by replacing time-based cache invalidation with generation counter [@DannyStoll1] (#2823)
      • fix panic when renaming or updating remote URL with no remotes configured [@xvchris] (#2868)
    3. v0.28.02025-12-14 · 2025-12-14 22:19 UTC
      查看更新说明

      discard changes on checkout discard-changes-on-checkout

      go to line in blame blame-goto-line

      Added

      • support choosing checkout branch method when status is not empty [@fatpandac] (#2404)
      • support pre-push hook [@xlai89] (#1933)
      • message tab supports pageUp and pageDown [@xlai89] (#2623)
      • files and status tab support pageUp and pageDown [@fatpandac] (#1951)
      • support loading custom syntax highlighting themes from a file [@acuteenvy] (#2565)
      • select syntax highlighting theme out of the defaults from syntect [@vasilismanol] (#1931)
      • new command-line option to override the default log file path (--logfile) [@acuteenvy] (#2539)
      • dx: make check checks Cargo.toml dependency ordering using cargo sort [@naseschwarz]
      • add use_selection_fg to theme file to allow customizing selection foreground color [@Upsylonbare] (#2515)
      • add "go to line" command for the blame view [@andrea-berling] (#2262)
      • add --file cli flag to open the files tab with the given file already selected [@laktak] (#2510)
      • add the ability to specify a custom keybinding/symbols file via the cli [@0x61nas] (#2731)

      Changed

      Fixes

      • resolve core.hooksPath relative to GIT_WORK_TREE [@naseschwarz] (#2571)
      • yanking commit ranges no longer generates incorrect dotted range notations, but lists each individual commit [[@nases
    4. v0.28.0-rc.2pre-release2025-12-14 · 2025-12-14 20:53 UTC
      查看更新说明

      discard changes on checkout discard-changes-on-checkout

      go to line in blame blame-goto-line

      Added

      • support choosing checkout branch method when status is not empty [@fatpandac] (#2404)
      • support pre-push hook [@xlai89] (#1933)
      • message tab supports pageUp and pageDown [@xlai89] (#2623)
      • files and status tab support pageUp and pageDown [@fatpandac] (#1951)
      • support loading custom syntax highlighting themes from a file [@acuteenvy] (#2565)
      • select syntax highlighting theme out of the defaults from syntect [@vasilismanol] (#1931)
      • new command-line option to override the default log file path (--logfile) [@acuteenvy] (#2539)
      • dx: make check checks Cargo.toml dependency ordering using cargo sort [@naseschwarz]
      • add use_selection_fg to theme file to allow customizing selection foreground color [@Upsylonbare] (#2515)
      • add "go to line" command for the blame view [@andrea-berling] (#2262)
      • add --file cli flag to open the files tab with the given file already selected [@laktak] (#2510)
      • add the ability to specify a custom keybinding/symbols file via the cli [@0x61nas] (#2731)

      Changed

      Fixes

      • resolve core.hooksPath relative to GIT_WORK_TREE [@naseschwarz] (#2571)
      • yanking commit ranges no longer generates incorrect dotted range notations, but lists each individual commit [[@nases
    5. v0.27.02025-01-14 · 2025-01-14 20:13 UTC
      查看更新说明

      new: manage remotes

      add-remote

      Breaking Changes

      • use default shell instead of bash on Unix-like OS [@yerke] (#2343)

      Added

      Fixes

      • respect env vars like GIT_CONFIG_GLOBAL (#2298)
      • Set CREATE_NO_WINDOW flag when executing Git hooks on Windows (#2371)

    README 原文

    未翻译

    CI crates MIT UNSAFE TWEET dep_status discord

    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 s ✅0.17 ✅10No ✅No ✅
    lazygit57 s2.625YesSometimes
    tig4 m 20 s1.30.6 ✅SometimesNo ✅

    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.

    Various Package Managers

    Arch Linux
    sudo 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
    
    Mise
    mise use -g gitui@latest
    
    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!