Hasta ahora hemos creado repositorios en local y lo hemos conectado con GitHub. Pero hay otro camino, igualmente válido y muy habitual en equipos: primero crear el repositorio en GitHub y luego descargarlo en tu máquina.
A eso se le llama clonar, y es lo que vamos a ver en esta guía.
Entramos en github.com y creamos un repositorio nuevo.
Esta vez, a diferencia del flujo anterior, vamos a marcar la opción Add a README file. Así el repositorio nace con un commit ya hecho y no estará vacío.
- Repository name:
mi-proyecto-clonado(o el que prefieras) - Visibility: público o privado, como quieras
- Add a README file: marcado
Hacemos clic en Create repository.
Con el repositorio creado, hacemos clic en el botón verde Code.
Aquí elegimos el método de autenticación que tengamos configurado:
- HTTPS — si usamos token
- SSH — si usamos claves SSH
Copiamos la URL correspondiente.
Ejemplos:
https://github.com/tu-usuario/mi-proyecto-clonado.git
git@github.com:tu-usuario/mi-proyecto-clonado.git
Vamos a la carpeta donde guardamos nuestros proyectos y ejecutamos git clone con la URL que acabamos de copiar:
git clone https://github.com/tu-usuario/mi-proyecto-clonado.gitGit descarga el repositorio completo, incluyendo todos los commits. Verás algo así:
Cloning into 'mi-proyecto-clonado'...
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Receiving objects: 100% (3/3), done.Ahora entramos en la carpeta que acaba de crearse:
cd mi-proyecto-clonadoVemos el estado del repositorio:
git statusOn branch main
Your branch is up to date with 'origin/main'.
nothing to commit, working tree cleanVemos el historial:
git log --oneline9cdd7db (HEAD -> main, origin/main, origin/HEAD) Initial commitY comprobamos el remoto que se ha configurado automáticamente:
git remote -vorigin https://github.com/tu-usuario/mi-proyecto-clonado.git (fetch)
origin https://github.com/tu-usuario/mi-proyecto-clonado.git (push)Cuando clonamos, Git configura el remoto origin apuntando a GitHub de forma automática. No hay que hacer nada más. Con esto ya tenemos el repositorio sincronizado entre local y la nube.
Editamos el README para añadirle contenido. Podemos abrirlo con VS Code:
code README.mdO directamente con cualquier otro editor de texto que tengamos instalado. Añadimos una descripción, guardamos y volvemos a la terminal.
- # mi-proyecto-clonado
+ # mi-proyecto-clonado updatedComprobamos qué ha cambiado:
git statusAhora veremos que git nos dice que el README ha sido modificado:
On branch main
Your branch is up to date with 'origin/main'.
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: README.md
no changes added to commit (use "git add" and/or "git commit -a")Si queremos ver exactamente qué ha cambiado, usamos git diff:
git diffAhora por consola veremos el cambio que hemos hecho en el README:
diff --git a/README.md b/README.md
index cdf1c24..2f04534 100644
--- a/README.md
+++ b/README.md
@@ -1 +1 @@
-# mi-proyecto-clonado
\ No newline at end of file
+# mi-proyecto-clonado updatedUna vez que sabemos qué ha cambiado, añadimos el README al staging area:
git add README.mdTambién podríamos haber añadido todos los cambios de golpe con git add ., pero es buena práctica añadir solo lo que queremos subir, para evitar subir algo por error.
Hacemos el commit:
git commit -m "Actualiza README con descripción del proyecto"Y subimos los cambios a GitHub:
git pushComo el repositorio viene de un clon, origin y la rama ya están configurados. No hace falta indicar nada más.
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 312 bytes | 312.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
To https://github.com/tu-usuario/mi-proyecto-clonado.git
4a1b2c3..7d9e0f1 main -> mainSi volvemos a GitHub y refrescamos, veremos el README actualizado y el commit nuevo en el historial.
Con esto ya conoces los dos caminos posibles: crear en local y subir, o crear en GitHub y clonar. El resultado es el mismo: un repositorio sincronizado entre tu máquina y la nube.
En la siguiente guía verás cómo trabajar con ramas, que es la forma en que los equipos organizan el desarrollo sin pisarse unos a otros.





