Skip to content

Install

  • git 2.31 or newer on your PATH. tt-git runs the git you already have for everything, so it follows your config, hooks, .mailmap and credential helpers.
  • A terminal with true color and Unicode box drawing. Windows Terminal, iTerm2, WezTerm, kitty, Alacritty and GNOME Terminal all work.

tt-git runs on Linux (x64, arm64), macOS (Apple Silicon) and Windows (x64, arm64).

The install script downloads the latest release for your platform, checks it against the release’s checksums and puts tt-git on your PATH.

Terminal window
curl -fsSL https://github.com/ThirtyTech/tt-git/releases/latest/download/install.sh | sh

It installs into ~/.local/bin, and tells you how to add that to your PATH if it isn’t there already.

Run the same command again to update, or see Updating. Two environment variables change what it does:

VariableDoes
TTGIT_VERSIONInstall this release, such as v0.2.0, instead of the latest
TTGIT_INSTALL_DIRInstall into this folder instead

Each release also shows the commands that install exactly that version.

Once tt-git is installed, it can update itself:

Terminal window
tt-git update

It installs the latest release over the tt-git you ran, using the same install script, and says so if you’re already up to date. tt-git update --check only checks, and tt-git update v0.2.0 installs a particular release. In the UI, run Update tt-git from the command palette. Restart tt-git afterwards to use the new version. See tt-git update.

Every release has an archive for each platform, named like tt-git-v0.2.0-linux-x64.tar.gz:

PlatformArchive
Linux x64linux-x64.tar.gz
Linux arm64linux-arm64.tar.gz
macOS Apple Siliconmacos-arm64.tar.gz
Windows x64windows-x64.zip
Windows arm64windows-arm64.zip

Unpack it and put tt-git (tt-git.exe on Windows) somewhere on your PATH. SHA256SUMS.txt on the release lists each archive’s checksum.

You need Rust 1.89 or newer, from rustup.rs.

  1. Clone the repository:

    Terminal window
    git clone https://github.com/thirtytech/tt-git
    cd tt-git
  2. Build and install the tt-git binary into ~/.cargo/bin:

    Terminal window
    cargo install --path crates/tt-git
  3. Check that it’s on your PATH:

    Terminal window
    tt-git --version

Run tt-git inside a repository, or give it a path:

Terminal window
tt-git # the repository in the current directory
tt-git path/to/repo # another repository

Any folder inside a repository works; tt-git finds the top of it the same way git does. Linked worktrees work too. If the folder isn’t in a repository, tt-git says so and exits.

tt-git on a web project: the commit graph on top, the status pane and the branch list below

Press q to quit.

OptionDoes
PATHOpen this repository instead of the current directory
--config FILERead settings from this file instead of the default config.toml (see Configuration file)
--no-pluginsStart without plugins and without the plugin API socket
--version, --helpPrint the version or help and exit

tt-git also has subcommands for managing plugins and scripting a running instance, such as tt-git plugin list and tt-git status --json. They’re listed in Command line.