Skip to content

Guides

How to make git checkout faster

actions/checkout takes minutes on a large repository.

4 min read

actions/checkout takes minutes on a large repository.

Why it happens

The default fetches full history for the branch, and large repositories with many objects are slow to clone.

How to fix it

  1. Use fetch-depth: 1 unless you specifically need history
  2. Enable sparse checkout for monorepos where a job only touches one directory
  3. Use filter: blob:none for a partial clone that fetches blobs on demand
  4. Remember that affected-target detection needs fetch-depth: 0 — do not blanket-shallow everything

Your next build could be twice as fast, at half the price

Start free. Migrating away is the same one line, and we publish that diff too.