Aprende a clonar una sola carpeta de un repositorio de Github en cualquier plataforma.

Descarga con Git

No puedes hacerlo.  A diferencia de Subversion, donde cada subdirectorio se puede verificar individualmente, Git opera sobre una base de repositorio completo. Para proyectos en los que se necesita un acceso más detallado, puede usar submódulos; cada submódulo es un proyecto de Git separado y, por lo tanto, se puede clonar individualmente.

Pero si un proyecto no se configuró así desde el principio, no podrás hacerlo.

Solución

Para descargar una carpeta, no vamos a utilizar Git, vamos a utilizar SVN en su lugar, ¡Sí! Subversion hará el truco por ti, simplemente sigue los siguientes pasos (necesitas tener svn instalado en su máquina y la variable de entorno svn debe estar disponible en el símbolo del sistema):


1) Si eres usuario de Windows

Si no tienes SVN instalado en su máquina,  descargue Tortoise SVN e instálalo en su escritorio desde aquí.  Recuerde habilitar el uso de tortoise svn en la línea de comandos.
Una vez instalado, intenta ejecutar el comando:
svn

En el símbolo del sistema de Windows, si una alerta dice que SVN no está definido, debes declarar una variable de entorno con el siguiente valor en las Variables de entorno del sistema, ve a panel de control > sistema y seguridad> sistema> variables de entorno> nuevo

Environment variables

Nombre de la variable : svn
##La ruta puede variar, debe dar la ruta a TortoiseProc.exe en su escritorio
Value of the variable : C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe


Ahora simplemente usaremos el svn checkoutcomando desde el símbolo del sistema, en este ejemplo, vamos a descargar la siguiente carpeta desde un repositorio xamarin. Este repositorio tiene demasiadas cosas que no necesito y no puedo descargar un archivo .zip de esta carpeta, por lo tanto, usaremos subversion para clonar solo esta carpeta.

URL original:  https://github.com/xamarin/xamarin-forms-samples/tree/master/Todo

Ahora, el comando svn checkout esperará:

# svn checkout 
svn checkout "https://github.com/xamarin/xamarin-forms-samples/tree/master/Todo"

Pero si intenta realizar el pago con la URL normal, svn no encontrará ningún repositorio allí. Para solucionar esto, solo necesitas reemplazar tree/master de la URL y reemplazarlo con trunk .

Final urlhttps://github.com/xamarin/xamarin-forms-samples/trunk/Todo

Finalmente, intenta ejecutar el comando anterior con la URL final:

svn checkout "https://github.com/xamarin/xamarin-forms-samples/trunk/Todo"

SVN Checkout for git

Y todo debería estar ahora ubicado en la carpeta donde ejecutó el comando.

Git svn clone folder repository

Recomendaciones finales

  • Si usa en svn export <url> lugar de svn checkout <url>, obtendrá una copia limpia de la carpeta sin archivos de repositorio git adicionales.
  • Use svn ls <url> para enumerar todas las etiquetas y ramas disponibles antes de descargar si lo desea.

Ingeniero de Software Senior en EPAM Anywhere. Interesado en la programación desde los 14 años, Carlos es un programador autodidacta, fundador y autor de la mayoría de los artículos de Our Code World.

Conviertete en un programador más sociable

Patrocinadores