Checking large binary files into a source repository (Git or otherwise) is a bad idea because repository size quickly becomes unreasonable.
- clones of the source repository are small and fast because no binaries are transferred, yet fully functional with complete metadata and incremental retrieval (git clone –depth has limited granularity and couples metadata to content)
- git-fat supports the same workflow for large binaries and traditionally versioned files, but internally manages the “fat” files separately
- git-bisect works properly even when versions of the binary files change over time
- selective control of which large files to pull into the local store
- local fat object stores can be shared between multiple clones, even by different users
- can easily support fat object stores distributed across multiple hosts
- depends only on stock Python and rsync