Skip to content

Latest commit

 

History

History
211 lines (141 loc) · 5.46 KB

File metadata and controls

211 lines (141 loc) · 5.46 KB

Curso: Dominando Git y la Conexión con la Nube

Introducción

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.

Creando el repositorio en GitHub

Entramos en github.com y creamos un repositorio nuevo.

Creando un nuevo repositorio en GitHub

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.

Configurando el repositorio con README

  • 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.

Repositorio creado en GitHub

Copiando la URL del repositorio

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.

Botón Code en GitHub

Ejemplos:

https://github.com/tu-usuario/mi-proyecto-clonado.git
git@github.com:tu-usuario/mi-proyecto-clonado.git

Clonando el repositorio

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.git

Git 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-clonado

¿Qué nos ha traído el clon?

Vemos el estado del repositorio:

git status
On branch main
Your branch is up to date with 'origin/main'.

nothing to commit, working tree clean

Vemos el historial:

git log --oneline
9cdd7db (HEAD -> main, origin/main, origin/HEAD) Initial commit

Y comprobamos el remoto que se ha configurado automáticamente:

git remote -v
origin  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.

Haciendo cambios y subiéndolos

Editamos el README para añadirle contenido. Podemos abrirlo con VS Code:

code README.md

O 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 updated

Comprobamos qué ha cambiado:

git status

Ahora 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 diff

Ahora 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 updated

Una vez que sabemos qué ha cambiado, añadimos el README al staging area:

git add README.md

Tambié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 push

Como 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 -> main

Si volvemos a GitHub y refrescamos, veremos el README actualizado y el commit nuevo en el historial.

README actualizado en GitHub


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.