Clonar un repositorio de GitHub
Respuesta corta: Para clonar un repositorio de GitHub, copia su URL desde el botón Code, abre la terminal (por ejemplo, Git Bash) en la carpeta donde quieras guardarlo y ejecuta git clone <url>. Así se descarga en tu computadora una copia local completa del proyecto, con todo su historial y sus ramas. También puede clonarse con la aplicación GitHub Desktop.
Puedes clonar un repositorio git de la siguiente manera:
$ git clone <git-repository-url><git-repository-url> debe ser reemplazado por el enlace del repositorio que deseas clonar, como este:
$ git clone https://github.com/4GeeksAcademy/html-helloClonar un repositorio crea una copia local del proyecto/repositorio deseado en tu computadora, conectada al repositorio remoto: puedes sincronizar ambas ubicaciones (Remoto-Local) con git pull y git push.
En otras palabras, clonar un repositorio significa descargar una copia completa de él a tu computadora. ¿Y qué significa una copia completa? Bueno, significa que después de clonar un repositorio tendrás toda la historia del repositorio en tu computadora.
Entonces, ¿por qué clonar un repositorio te preguntarás? Clonar un proyecto tiene muchos beneficios como:
- Navegar por la historia del proyecto y ver cómo ha evolucionado.
- Ver los cambios que han ocurrido en el código.
- Saber quién ha modificado el código y cuándo.
- Acceder a las ramas del proyecto y crear las tuyas propias.
- Comenzar a modificar el código, guardar los cambios y agregar tu trabajo al existente.
Y todo esto sin necesidad de estar conectado a internet. Solo necesitaremos una conexión a internet cuando queramos "compartir" nuestro trabajo con alguien más o cuando queramos subir nuestro trabajo a GitHub.

En la siguiente sección, profundizaremos en ejemplos más detallados de cómo clonar un repositorio de github y también cómo hacerle fork a cualquier repositorio de github.
Pasos para clonar un repositorio de GitHub (usando la terminal)
Para este ejemplo, clonaremos uno de los repositorios populares de 4Geeks, es decir, 4Geeks react-flask-hello. Los pasos para clonar este repositorio son los siguientes:
- Determinar o localizar dónde quieres clonar el repositorio deseado
Localiza la carpeta en tu computadora donde quieres guardar el repositorio, o puedes crear una nueva. Digamos que queremos guardar nuestro repositorio en una carpeta llamada
my-first-cloned-repocomo se muestra a continuación.

- Abre el terminal
Puedes usar el terminal Git Bash o cualquier terminal de IDE (Entorno de Desarrollo Integrado) o Editor de Código. Con el terminal abierto, ingresa
cdy agrega/copia la ubicación/ruta de la carpeta. Dado que queremos guardar el repositorio en nuestra carpetamy-first-cloned-repo, copiemos la ruta de la carpetaC:\Users\rafam\Programming Projects\my-first-cloned-repoy pégala en el terminal, también puedes arrastrar y soltar la carpeta en el terminal y presionar enter.
rafam@LAPTOP-LLV85FV6 MINGW64 ~
$ cd 'C:\Users\rafam\Programming Projects\my-first-cloned-repo'
rafam@LAPTOP-LLV85FV6 MINGW64 ~/Programming Projects/my-first-cloned-repo- Ve al repositorio 4Geeks react-flask-hello en GitHub. Una vez que te encuentres en el repositorio de Github, necesitas hacer clic en el botón Código para mostrar las opciones de clonación y luego hacer clic en el botón Copiar que está resaltado (se muestra a continuación) y junto a la URL del repositorio:


- Ve a la terminal y usa el comando git clone escribiendo
git clonejunto con la URL copiada
rafam@LAPTOP-LLV85FV6 MINGW64 ~
$ cd 'C:\Users\rafam\Programming Projects\my-first-cloned-repo'
rafam@LAPTOP-LLV85FV6 MINGW64 ~/Programming Projects/my-first-cloned-repo
$ git clone https://github.com/4GeeksAcademy/react-flask-hello.git- Presiona Enter y el repositorio será clonado
rafam@LAPTOP-LLV85FV6 MINGW64 ~
$ cd 'C:\Users\rafam\Programming Projects\my-first-cloned-repo'
rafam@LAPTOP-LLV85FV6 MINGW64 ~/Programming Projects/my-first-cloned-repo
$ git clone https://github.com/4GeeksAcademy/react-flask-hello.git
Cloning into 'react-flask-hello'...
remote: Enumerating objects: 1024, done.
remote: Counting objects: 100% (33/33), done.
remote: Compressing objects: 100% (22/22), done.
Receiving objects: 100% (1024/1024), 8.86 MiB | 7.31 MiB/s, done.
Resolving deltas: 100% (521/521), done.Es importante entender que puedes clonar cualquier repositorio no solo de GitHub, sino de cualquier otro sitio, si tienes la URL de git. Recuerda que clonas un repositorio con el comando git clone <url>.
Clone vs Fork
La diferencia entre hacer fork y clonar un proyecto/repositorio realmente se reduce a cuánto control un desarrollador tiene sobre un repositorio dado.
Al hacer Fork, puedes hacer tu propia copia de un repositorio en otro lugar (por ejemplo, GitHub). Poseer una copia del repositorio significa que puedes hacer cambios en él sin afectar al repositorio original.
Al Clonar creas una copia local de un repositorio. Imagina hacer eso descargando un repositorio a la memoria local de tu computadora. El clon guarda una referencia a su repositorio de origen (el remoto origin).

Cómo Hacerle Fork a un Repositorio
Entonces quieres hacer tu propia copia de un repositorio, vamos a hacer una copia del que clonamos en el ejemplo anterior 4Geeks react-flask-hello.
Los pasos para forkear el repositorio son los siguientes:
-
Ve al repositorio de GitHub 4Geeks react-flask-hello
-
Haz clic en el botón de Fork ubicado en la esquina superior derecha de la página

- Entonces, debe ser seleccionado un propietario para el repositorio al que se le hizo fork, haciendo clic en el botón Seleccionar un propietario y eligiendo el Nombre del repositorio. También puedes agregar una descripción (opcional) a tu fork si lo deseas.

- Debajo del campo de descripción, hay una casilla de verificación (Copiar solo la rama
main) que te permite copiar solo la rama principal, si deseas copiar todo el repositorio con todas sus ramas, entonces esta casilla debe estar sin marcar.

- Ahora puedes hacer clic en Crear fork y estará hecho.

Cómo clonar usando la aplicación GitHub en lugar de la terminal
También puedes usar la aplicación de escritorio de GitHub para clonar un repositorio en tu computadora, una vez que hayas descargado la Aplicación de escritorio de GitHub aquí, y esté conectado al sitio web y la aplicación de escritorio de GitHub, entonces puedes seguir estos pasos:
- Ve al repositorio GitHub deseado, usemos nuevamente el repositorio 4Geeks react-flask-hello. Haz clic en el botón Código para mostrar las opciones y procede a hacer clic en el botón Abrir con GitHub Desktop.

- La aplicación de escritorio de GitHub se abrirá automáticamente en su computadora y se mostrará una ventana llamada Clonar un repositorio. Aquí puedes confirmar el repositorio para clonar y puedes cambiar la ruta local donde se guardará el repositorio haciendo clic en el botón Choose..., o simplemente puedes copiar la ruta y pegarla en el campo correspondiente.

- Ahora puedes proceder a hacer clic en el botón Clone y el repositorio se clonará en la ruta/directorio deseado.

Clonar repositorios es una de las habilidades que más se usan a diario al trabajar en equipo con Git y GitHub. Si quieres practicarla con proyectos reales y mentores, un bootcamp de programación ofrece una ruta estructurada.
Preguntas frecuentes
¿Cómo clonar un repositorio en una carpeta con otro nombre?
Añade el nombre de la carpeta al final del comando: git clone <url> mi-proyecto crea la carpeta mi-proyecto con todo el contenido. Si quieres clonarlo directamente en la carpeta en la que estás, usa un punto, git clone <url> ., pero esa carpeta debe estar vacía o Git mostrará un error.
¿Cómo clonar un repositorio privado de GitHub?
Necesitas que el propietario te dé acceso al repositorio. Por HTTPS, GitHub ya no acepta la contraseña de tu cuenta en Git, así que debes usar un token de acceso personal o iniciar sesión con Git Credential Manager o GitHub CLI. Otra opción es SSH: agrega tu clave pública a tu cuenta y clona con la URL git@github.com:usuario/repositorio.git.
¿Cómo clonar solo una rama de un repositorio?
Usa git clone --branch nombre-rama --single-branch <url>. La opción --branch elige la rama que quedará activa y --single-branch evita descargar las demás. Si además solo necesitas el último estado del código, sin todo el historial, añade --depth 1 para obtener un clon superficial, mucho más ligero y rápido de descargar.
¿Cómo actualizar un repositorio clonado con los últimos cambios?
Entra en la carpeta del repositorio y ejecuta git pull. Un clon no se sincroniza solo: git pull descarga los commits nuevos del remoto origin y los integra en tu rama actual. Si tienes cambios locales sin confirmar, haz commit o usa git stash antes, para evitar conflictos al traer el trabajo de otras personas.
