> Manuales > Manual de Git

Aprende a clonar un repositorio Git que se encuentra alojado en GitHub. El comando es git clone, muy sencillo de usar. Sin embargo también es importante saber cómo restaurar las dependencias de los proyectos una vez clonado el repo.

Clonar un repositorio: Git clone

En este artículo del Manual de Git vamos a hablar de la operativa de clonado de un repositorio, el proceso que tienes que hacer cuando quieres traerte el código de un proyecto que está publicado en GitHub y lo quieres restaurar en tu ordenador, para poder usarlo en local, modificarlo, etc.

Este paso es bastante básico y muy sencillo de hacer, pero es esencial porque lo necesitarás realizar muchas veces en tu trabajo como desarrollador. Además intentaremos complementarlo con alguna información útil, de modo que puedas aprender cosas útiles y un poquito más avanzadas.

Ten en cuenta que el clonado de repositorios puede requerir que te atutentiques en GitHub, especialmente si es un repositorio privado. La autenticación ahora se debe realizar mediante lo que se conoce como un Personal Access Token. Aprende a crear y usar tus Personal Access Token de GitHub.

Descargar vs Clonar

Al inicio de uso de un sitio como GitHub, si no tenemos ni idea de usar Git, también podemos obtener el código de un repositorio descargando un simple Zip. Esta opción la consigues mediante el enlace de la siguiente imagen.

Sin embargo, descargar un repositorio así, aunque muy sencillo no te permite algunas de las utilidades interesantes de clonarlo, como:

En resumen, no podrás usar en general las ventajas de Git en el código descargado. Así que es mejor clonar, ya que aprender a realizar este paso es también muy sencillo.

Clonar el repositorio Git

Entonces veamos cómo debes clonar el repositorio, de modo que sí puedas beneficiarte de Git con el código descargado. El proceso es el siguiente.

Nota: Asumimos que tienes instalado Git en tu sistema local. Puedes aprender a hacerlo en este artículo: Entiende, instala y configura Git.

Primero copiarás la URL del respositorio remoto que deseas clonar (ver el icono "Copy to clipboard en la siguiente imagen).

Luego abrirás una ventana de terminal, para situarte sobre la carpeta de tu proyecto que quieras clonar. Yo te recomendaría crear ya directamente una carpeta con el nombre del proyecto que estás clonando, o cualquier otro nombre que te parezca mejor para este repositorio. Te sitúas dentro de esa carpeta (cd, cd...) y desde ella lanzamos el comando para hacer el clon, que sería algo como esto:

git clone https://github.com/EscuelaIt/angular-avanzado.git . El último punto le indica que el clon lo vas a colocar en la carpeta donde estás situado, en tu ventana de terminal. La salida de ese comando sería más o menos como tienes en la siguiente imagen:

Instalar las dependencias

Habitualmente los desarrollos de Git tienen ignoradas las dependencias mediante el archivo .gitignore, por ello es importante que las instalemos de nuevo en el repositorio clon, en local.

Para cada tipo de proyecto, con cada lenguaje, existirán comandos para instalar las dependencias. Este comando lo tendrías que conocer tú mismo, si es de PHP dependerá de Composer, si es de NodeJS (o Javascript) dependerá de npm.

Por ejemplo, así reinstalamos las dependencias en un proyecto Angular, que usa npm como gestor de dependencias.

npm install

Pero insisto que esto depende del gestor de dependencias, o gestores de dependencias del proyecto, si es que se están usando.

Subir cambios al repositorio remoto realizados por nosotros

Una vez modificado el código en local podrás querer subir los cambios al repositorio remoto. Es algo muy sencillo, ya que al clonar el repositorio en local está asociado el origen remoto desde donde lo trajiste. Sin embargo, tenemos que llevar en consideración algunos puntos:

Nos vamos a quedar aquí en lo sencillo, pensando que: 1) El repositorio es tuyo y 2) que nadie se molesta por enviar cambios directamente a la rama master. Entonces, para enviar cambios a GitHub, o cualquier otro hosting de repositorios, haríamos:

git push

Con eso se envían los cambios en el instante y los podrás ver reflejados en el repo remoto.

Nota: Obviamente, para que se envíen los cambios del repositorio, local tendrás que haber realizado alguna/s modificación/es en el código del proyecto, y por supuesto las tendrás que haber confirmado con el correspondiente/s commit. Pero esto suponemos que ya lo conoces, como lector del Manual de Git. Puedes encontrar más información sobre esta operativa básica en el artículo sobre ti primer commit.

Cómo enviar cambios a GitHub si el repositorio no es tuyo (vía fork)

Si el repositorio que vas a modificar no es tuyo y pretendes continuar el desarrollo, agregando cambios que querrás enviar a GitHub, tendrías que clonar el repositorio de otra manera.

Primero tienes que crear un "fork". Esto es, un repositorio que es copia de otro que ya está publicado en GitHub. Lo bueno de un fork es que el repositorio será exactamente igual, pero estará en tu cuenta de GitHub, con tu usuario, por lo que tendrás permisos para hacer lo que tú quieras con él.

Hay un botón para hacer el fork en la parte de arriba de la página del repositorio.

Una vez hecho el fork, el repositorio ya te pertenece. Entonces podrás clonar (el fork, no el repositorio original) y realizar los cambios que quieras, que podrás subir perfectamente a ti propio repositorio (tu fork).

En la parte de arriba puedes ver que el repositorio es un fork de otro repositorio existente en GitHub.

El resto del proceso, para descargar el repositorio, modificarlo y enviar los cambios es exactamente igual que lo descrito anteriormente, incluido el "git push" para enviar los cambios. Solo que ahora, ya que es tu propio repositorio, sí que te dejará actualizar su código en remoto.

Miguel Angel Alvarez

Fundador de DesarrolloWeb.com y la plataforma de formación online EscuelaIT. Com...

Manual