Skip to content
Latchkey

git sparse-checkout set: Usage, Options & Common CI Errors

git sparse-checkout set limits which directories Git materializes in the working tree.

In a large monorepo, sparse-checkout lets a CI job check out only the paths it builds, cutting checkout time and disk. Cone mode keeps the patterns simple and fast.

What it does

git sparse-checkout set defines the set of paths present in the working tree; everything outside the patterns is left out. git sparse-checkout init enables the feature, and disable turns it off and restores a full checkout.

Common usage

Terminal
git sparse-checkout init --cone
git sparse-checkout set apps/web libs/shared
git sparse-checkout list
git sparse-checkout disable

Options

Subcommand / flagWhat it does
init --coneEnable sparse-checkout in cone mode
set <paths>Replace the included path set
add <paths>Add to the included paths
listShow the current patterns
disableTurn off and restore a full tree

Common errors in CI

An empty working tree after set usually means cone mode plus a path that does not exist, or non-cone patterns that match nothing - verify with git sparse-checkout list and that the paths exist in the commit. Combine with a partial clone (--filter=blob:none) to avoid downloading excluded blobs at all.

Related guides

Run this faster and cheaper on Latchkey managed runners. Start free →