--filter=blob:none clones the full commit graph but no file contents. Blobs are fetched lazily when you check out or diff.
git clone --filter=blob:none https://github.com/big/repo
10-100× faster for big repos, since you're skipping years of stale binary blobs.
Variants:
--filter=blob:limit=1m — skip blobs over 1 MB
--filter=tree:0 — also skip trees; only commit objects downloaded (git log still works, git checkout triggers fetches)
Use cases: CI runners that only need git log, partial clones for navigation in editors, dev laptops on slow networks.
Combine with sparse-checkout for the ultimate "I only want this one app" workflow.