You could do a blobless or treeless clone [link] Combined with --depth=1 and the --no-checkout / --sparse-checkout flow that the GP already described. I just tested on the emacs repo, left column is disk usage of just the `.git` folder inside: Shallow clones (depth=1): 124K: Treeless clone depth=1 with no-checkout 308K: Blobless clone depth=1 with no-checkout 12M: Treeless clone depth=1 sparse checkout of "doc" folder 12M: Blobless clone depth=1 sparse checkout of "doc" folder 53M: Treeless clone depth=1 non-sparse full checkout 53M: Blobless clone depth=1 non-sparse full checkout 53M: Regular clone with depth=1 Non-shallow clones: 54M: Treeless clone with no-checkout 124M: Blobless clone with no-checkout 65M: Treeless clone sparse checkout of "doc" folder 135M: Blobless clone sparse checkout of "doc" folder 107M: Treeless clone with non-sparse full checkout 177M: Blobless clone with non-sparse full checkout 653M: Full regular git clone with no flags Great tech talk covering some of the newer lesser-known git features: ▶ this video
in “Show HN: Downloading a folder from a repo using rust” · View on HN