Back to directory

gat

Versioned large-file storage for Git that needs no dedicated LFS server: point it at an object store such as S3 or a plain directory, then keep using ordinary Git commands.

gat

gat is versioned, large-file storage for Git that works without a dedicated server, described as what git-lfs would be if it did not need a special server, and what dvc would be if it only did one thing. It is pointed at S3, Azure Blob, GCS, another object store, or a plain directory; large files or directories are added with gat add, and ordinary git commit, push, pull and clone continue to work unchanged.

Rather than clean/smudge filter magic, gat sync reconciles the working tree with the current lock file or shard directory, and Git hooks installed by gat init run that sync automatically after checkout, merge, pull, rebase and amend. Each new clone needs its own gat init, and gat pull downloads any tracked content missing from the local cache; a remote can be added for multiple storage backends, with one selected as the default for transfers.

It is written in Rust, distributed as prebuilt binaries or via Cargo, and requires Rust 1.91 or newer to build from source.

More in Git

See all 52
  • Critic

    critic.run

    A code-change viewer, backed by Y Combinator, built for reviewing work written by coding agents, presenting a plain-language narrative of each change alongside the diff and a running conversation with the agent.

  • Anchorpoint for Lore

    anchorpoint.app

    A free desktop client for Epic's Lore version control system, aimed at artists and other non-programmers working on Unreal Engine and other large content-creation projects.

  • mcp-gitlab

    pypi.org

    An MCP server for the GitLab REST API providing dozens of tools, resources and prompts so AI assistants can manage projects, merge requests, pipelines, CI/CD variables, approvals, issues and code review.