Faster checkouts
Repeat clones, worktrees, and submodules reuse history already on disk. Large checkouts drop from over a minute to about 10 seconds.
git-dedup is a wrapper around git built for fleets of coding agents. It forwards ordinary Git commands unchanged and automatically keeps one shared copy of Git history, so every new clone, worktree, and submodule reuses what is already on disk instead of downloading it again.
npm install -g git-dedup
# check out a new repo automatically using the dedup store
git-dedup clone https://github.com/you/project.git
# dedup an existing repo into the store
git-dedup store add ./my-existing-repoThat's it. git-dedup automatically consolidates the new or existing project's history into a shared store in ~/.git-dedup or if its history already existed there, it reuses it automatically. The checkout is a normal Git repository, so keep using git as usual.
Node.js 22+ · macOS, Linux, and Windows
Repeat clones, worktrees, and submodules reuse history already on disk. Large checkouts drop from over a minute to about 10 seconds.
Every checkout shares one copy of Git history. Across 117 checkouts, Git data dropped from 35.5 GB to 11.1 GB.
Checkouts are normal Git repositories. Use git, your editor, and your agents exactly as before.
WHY I BUILT IT
I run fleets of coding agents, each in its own checkout. Every task started by cloning repositories and submodules from scratch, so agents sat idle waiting on downloads. Then I started running out of disk space, because every checkout held another full copy of the same history. git-dedup fixed both: my agents start dramatically faster, and I got 24 GB of disk back.
BUILT ON GIT
git-dedup uses Git's own alternates mechanism, so every checkout stays an ordinary repository with its real origin. We have spent a lot of time running it across our own agent fleets and repositories to make it robust and fast. Worktrees, submodules, forks, and existing checkouts all just work.
Read the getting started guide →Every checkout borrows from the same store.