¿Es posible clonar solo una carpeta del repository remoto?

Quiero download solo 2 carpetas del repository remoto de git. En este caso es el repository ubuntu kernel git.
Descargar todo el núcleo es una pérdida de time y ancho de banda si solo quiero 2 carpetas.
¿Hay alguna manera de hacer esto con git?

No, no puedes crear un clon parcial

No, no en la forma en que estás preguntando. Pero puedes hacer uno de estos:

  1. download un tarball – el website del repository debería ofrecer tal opción; de lo contrario, puede usar git archive (la página man , google y SO lo ayudarán con su uso); o
  2. hacer un clon superficial, usando el interruptor –depth; esto downloadá solo el número de confirmaciones, por lo que no obtendrá todo el historial. La página de git clone tiene más detalles al respecto.

Parece que Git NO PUEDE implementar esto.

Pensé que " Sparse Checkout " funcionará, pero como dijo @ HolgerJust:

Esto todavía downloadá el repository remoto completo. Simplemente no comtesting todos los files en la copy de trabajo, pero todavía están disponibles en el índice local.

El tiene razón.


Sí tu puedes. Puedes usar Sparse Checkout .

Aquí hay un ejemplo simple:

 $ mkdir destinationFolder $ cd destinationFolder $ git init $ git remote add origin git@github.com:Kjuly/iPokeMon.git $ git config core.sparseCheckout true $ echo 'Pokemon/Models/*' > .git/info/sparse-checkout ... echo more if you need $ git pull origin dev 

Y finalmente, obtendrás files:

carpeta de destino
– Pokémon
– – Modelos