Hoy he ido a parar a un repositorio de Github que tenía un directorio que me quería clonar y y otros tantos (dentro del mismo repositorio) que no me interesaban lo más mínimo.
El caso que nunca había necesitado clonarme un subdirectorio de un repositorio, así que me he puesto a googlear y googlear y he encontrado pasito a paso como hacerlo. Probablemente haya otras formas de hacerlo, pero esta me ha parecido bastante sencilla. De hecho, creo que el comando filter podría servir para hacer esto, pero lo he visto más claro con spareCheckout.
Los pasos a seguir son los siguientes:
- Me ubico en mi directorio local donde quiero clonar el subdirectorio del repo.
Inicializo un nuevo repositorio con:
git init
A continuación, añado un origen remoto:
git remote add -f origin <url repo>
Habilito en mi config de git el llamado “sparseCheckout”:
git config core.sparseCheckout true
Añado el subdirectorio que quiero clonar del repo a mi configuración:
echo "subdirectorio/" >> .git/info/sparse-checkout
Actualizo mi repo local
git pull origin master
Y con esto, solucionao’ 😉