Theory
Theory: Scale is Reachability and Pack Shape
“Large” is commit count, tree width, blob size, and clone graph — not only disk bytes. Shallow, sparse, and partial clones cut different axes.
Invariants
- Shallow (
--depth) cuts history length. - Sparse checkout cuts which paths materialize in the working tree.
- Partial clone cuts which blobs you download until needed (
--filter). - Commit-graph and bitmaps speed
logand fetch on the server and client.
full clone all commits, trees, blobs
shallow last N commits
sparse all objects, few WD paths
partial delayed blobs
What can break
- Shallow clone then needing
blameacross all history. - LFS-sized files without LFS.
How to read this chapter
What large means, the three clone cuts, git config tuning.