

GitKit
Installation
Last updated
Quick install (recommended)
Linux / macOS:
curl -fsSL https://raw.githubusercontent.com/UniverLab/gitkit/main/scripts/install.sh | sh
Windows (PowerShell):
irm https://raw.githubusercontent.com/UniverLab/gitkit/main/scripts/install.ps1 | iex
Via cargo
cargo install gitkit
Available on crates.io.
GitHub Releases
Precompiled binaries for Linux x86_64, macOS x86_64/ARM64 and Windows x86_64 are published on the Releases page.
Self-update
gitkit automatically checks GitHub for newer releases each time it runs and offers to update if a newer version is available. The update replaces the running binary in place — no need to reinstall or restart your shell between commands.
Explicit update
Prefer to decide yourself? Run the check on demand:
gitkit update # asks first (default: No), then updates in place
gitkit update --check # read-only: exit 0 current, 1 update available, 2 check failed
gitkit update --yes # skip the prompt
Both forms exit 0 when you are up to date (or nothing is installed), 1
from --check when an update is available, and 2 when the check could not
complete — network, DNS, TLS, an HTTP error (≥ 400) or an unparsable
response — printing one stderr line that names the cause.
gitkit update fetches the latest stable release (drafts and
prereleases are ignored), downloads the asset for your platform — for example
gitkit-v0.6.0-x86_64-unknown-linux-musl.tar.gz — verifies its SHA256 against
the release’s SHA256SUMS.txt when the release ships one, and replaces the
running binary atomically with a same-directory temporary file plus a rename.
The background check below prints at most a one-line notice so it can never
interrupt your work.
GITKIT_NO_UPDATE_CHECK
disables only the background check, never the explicit command.
Behind a proxy: set HTTPS_PROXY (or HTTP_PROXY) and, to exclude
hosts, NO_PROXY — all three are honoured in upper and lower case, exactly
like the other UniverLab tools.
Disable update checks
If you prefer to manage updates yourself, disable the check with:
export GITKIT_NO_UPDATE_CHECK=1
Add this to your shell profile to make it permanent.
Cargo-installed versions
If gitkit was installed with cargo install gitkit, the auto-updater will
detect this, refuse to replace the file cargo owns, and print:
installed with cargo — run: cargo install --force gitkit
This is because cargo manages the installation and needs to be involved in the update to maintain consistency.
Uninstall
First, remove gitkit’s hooks from every repository it has touched:
gitkit uninstall
This lists every repository in the registry, shows what hooks are installed, and asks for
confirmation before removing anything. It restores any hand-written hook that gitkit had absorbed
when it first installed its dispatcher. Add --data to also remove local state under ~/.gitkit
(builds, registry).
Then remove the binary itself:
Linux / macOS:
rm -f ~/.local/bin/gitkit
Windows (PowerShell):
Remove-Item "$env:LOCALAPPDATA\gitkit\gitkit.exe" -Force
If gitkit was installed via cargo install gitkit, remove it with:
cargo uninstall gitkit