Simple, fast, versioned large-file storage for git.
gat is what git-lfs would be if it didn't need a special server, and what
dvc would be if it did one thing. Point it at S3, Azure Blob, GCS, and
other object stores (or a plain directory), gat add your large files or
directories, and keep using git exactly as before — commit, push,
pull, clone all just work. No clean/smudge filter magic: gat sync
reconciles the working tree with the committed gat.lock file or shard directory, and
Git hooks (installed by gat init) run it automatically after checkout,
merge/pull, and rebase/amend.
Linux / macOS
curl -fsSL https://getgat.dev/install.sh | sh
Windows (PowerShell)
& ([scriptblock]::Create((irm https://getgat.dev/install.ps1)))
This downloads the latest matching release archive, verifies its checksum,
and puts gat on your PATH. See Installation
for version-pinned install-script URLs, manual downloads, and Cargo-based
source installs.
Alternatively, install from source with Cargo:
cargo install --locked --bin gat --git https://github.com/getgat-dev/gat gat
gat requires Rust 1.91 or newer (the minimum supported Rust version, or
MSRV, tracked by rust-version in Cargo.toml). Bumping the MSRV is
considered a breaking change.
gat init
gat remote add origin s3://my-bucket/assets
gat add models/encoder.safetensors
git add gat.lock gat.yaml
git commit -m "Track encoder weights with gat"
gat push
Open the documentation at getgat.dev.
See CONTRIBUTING.md for dev setup and PR conventions.
4 commits
2 commits
Rust
98.4%
Shell
1.1%
Simple, fast, versioned large-file storage for git.
gat is what git-lfs would be if it didn't need a special server, and what
dvc would be if it did one thing. Point it at S3, Azure Blob, GCS, and
other object stores (or a plain directory), gat add your large files or
directories, and keep using git exactly as before — commit, push,
pull, clone all just work. No clean/smudge filter magic: gat sync
reconciles the working tree with the committed gat.lock file or shard directory, and
Git hooks (installed by gat init) run it automatically after checkout,
merge/pull, and rebase/amend.
Linux / macOS
curl -fsSL https://getgat.dev/install.sh | sh
Windows (PowerShell)
& ([scriptblock]::Create((irm https://getgat.dev/install.ps1)))
This downloads the latest matching release archive, verifies its checksum,
and puts gat on your PATH. See Installation
for version-pinned install-script URLs, manual downloads, and Cargo-based
source installs.
Alternatively, install from source with Cargo:
cargo install --locked --bin gat --git https://github.com/getgat-dev/gat gat
gat requires Rust 1.91 or newer (the minimum supported Rust version, or
MSRV, tracked by rust-version in Cargo.toml). Bumping the MSRV is
considered a breaking change.
gat init
gat remote add origin s3://my-bucket/assets
gat add models/encoder.safetensors
git add gat.lock gat.yaml
git commit -m "Track encoder weights with gat"
gat push
Open the documentation at getgat.dev.
See CONTRIBUTING.md for dev setup and PR conventions.
4 commits
2 commits
Rust
98.4%
Shell
1.1%