Skip to content

Installation

gitty runs on macOS (Apple Silicon or Intel) and Linux (x86_64 or arm64).

Terminal window
brew install vedangp57/tap/gitty

Use the full name — it tells Homebrew to trust this one formula from the tap.

Downloads a prebuilt binary into ~/.cargo/bin:

Terminal window
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/VedangP57/gitty/releases/latest/download/gitty-cli-installer.sh | sh

Each release has archives for every supported target on the Releases page.

On macOS a binary downloaded through a browser is quarantined; run this once:

Terminal window
xattr -d com.apple.quarantine gitty

gitty is published as gitty-cli (the name gitty was taken on crates.io); the command is still gitty. Requires Rust 1.90 or newer and a C compiler for the bundled grammars and Oniguruma:

Terminal window
cargo install --locked gitty-cli

From a clone:

Terminal window
cargo install --locked --path crates/gitty

Building without the bundled tree-sitter grammars (--no-default-features) makes a much smaller binary that highlights through the syntect fallback.

  • git 2.30 or newer on your PATH.
  • A terminal with mouse reporting; truecolor where the terminal has it, the nearest 256-colour palette entry elsewhere.
  • Prebuilt Linux binaries need glibc 2.35 or newer (Ubuntu 22.04, Debian 12, Fedora 36 and later). Build from source elsewhere.
  • On Linux, live refresh watches every directory with inotify. Repositories with more directories than fs.inotify.max_user_watches allows open with a notice and refresh when the terminal regains focus instead.
  • Optional: the gh CLI, logged in, for the pull request badge in the top bar. Without it the badge is left out.
Terminal window
gitty # the repository containing the current directory
gitty path/to/repo
gitty --theme dracula
gitty untune [PATH]

If you use herdr, gitty also ships a plugin that opens it in a popup — see In herdr.

With Homebrew, run brew upgrade vedangp57/tap/gitty. Otherwise run the shell installer or cargo install --locked gitty-cli again; both fetch the latest release. The changelog lists what changed in each release.