git sparse-checkout
Extrae solo algunas carpetas de un repositorio grande
El comando 'git sparse-checkout' limita qué carpetas están presentes en el disco. Los archivos fuera de esas carpetas siguen en cada commit y en el repositorio, solo que no se extraen — útil en repositorios enormes donde solo trabajas en una parte. En el modo cone (por defecto), los archivos de primer nivel siempre están presentes. git status indica qué porcentaje de archivos hay en el disco.
Sinopsis
git sparse-checkout (set | add) <folder>...
git sparse-checkout list
git sparse-checkout disableOpciones
Elegir la opción adecuada
Trabajar con un repositorio enorme
Menos en disco frente a menos descargado
| Comando | Ahorra |
|---|---|
git sparse-checkout | Espacio en disco y tiempo de extracción |
git clone --filter=blob:none | Tamaño de descarga (clon parcial) |
git clone --depth 1 | Tamaño del historial (clon superficial) |
Ejemplos
Mantener una carpeta
git sparse-checkout set srcSolo src/ y los archivos de primer nivel.
Añadir una carpeta
git sparse-checkout add docsdocs/ vuelve también.
Desactivarlo
git sparse-checkout disableTodos los archivos otra vez.
Ejemplos de flujos de trabajo
git clone --filter=blob:none --sparse <url>Clonar ligero, sparse desde el principio
git sparse-checkout set webMantener solo tu carpeta
Solución de problemas
Falta una carpeta
Causa: Está fuera del sparse checkout
git sparse-checkout add <folder>
Consejos y trampas
Buenas prácticas
- ✓Usa el modo cone (por defecto) — es mucho más rápido que los patrones.
Errores comunes
- ✗Creer que los archivos ocultos se borran del proyecto — siguen confirmándose y subiéndose con normalidad.
Preguntas frecuentes
No los ves, así que normalmente no los tocas; los commits los mantienen sin cambios.