Haciendo cambios con Git

Resumen

Trabajar con Git deja de parecerse a copiar carpetas en Drive cuando empiezas a registrar cambios, sincronizarlos con un remote y colaborar con tu equipo. Aquí aprendes cómo configurar tu llave SSH en GitHub, hacer tu primer push y resolver el conflicto típico cuando un colega subió cambios antes que tú, todo aplicado a un proyecto real en Unity.

Por qué usar una llave SSH en GitHub en lugar de HTTPS

Cuando trabajas con HTTPS, GitHub te pide usuario y contraseña cada vez que haces push o pull. Y si usas varias computadoras, esa fricción se multiplica. La alternativa es autenticarte con una llave SSH, una forma de criptografía donde tu computadora guarda una llave privada y GitHub guarda la pública correspondiente.

La lógica es parecida a un número primo muy grande que solo tú conoces: lo multiplicas por otro número y generas una llave pública que cualquiera puede ver, pero solo tu llave privada puede descifrar. Así GitHub confirma que esa máquina te pertenece sin pedirte credenciales una y otra vez.

¿Qué es una SSH key en GitHub? Es un par de llaves criptográficas, una privada que se queda en tu computadora y una pública que subes a GitHub, para autenticarte sin escribir contraseña en cada push o pull.

Cómo generar y registrar tu llave SSH paso a paso

El flujo tiene dos lados: generar la llave en tu consola y pegarla en tu cuenta de GitHub [2:00].

Generar la llave con ssh-keygen

En la consola de Git escribe ssh-keygen. El comando te pregunta dónde guardar el archivo y te sugiere una ruta por defecto, pero puedes indicar otra como D:llavecita. Después te pide un passphrase: si compartes computadora o sueles dejarla desbloqueada, conviene poner uno; si trabajas desde casa, puedes dejarlo en blanco.

El resultado son dos archivos:

  • llavecita sin extensión: tu llave privada. Nunca la compartas, con ella te pueden suplantar.
  • llavecita.pub: tu llave pública. Esta sí se la entregas a GitHub.

Para verla en consola usa cat D:llavecita.pub y copia todo el contenido.

Añadir la llave pública en GitHub

En GitHub entra a tu perfil, abre Settings y ve a SSH and GPG Keys. Haz clic en New SSH key, ponle un nombre que identifique tu máquina (en la clase se llama Fierecilla) y pega la llave pública. GitHub te pedirá tu password para confirmar y listo: tu computadora queda registrada.

Cómo hacer tu primer commit y push a un repositorio

Una vez registrada la llave, puedes subir cambios al repositorio sin que te vuelvan a pedir credenciales. El flujo básico tiene tres pasos: rastrear, empacar y enviar [5:30].

  1. git add . registra los cambios que hiciste para que Git los considere listos.
  2. git status te muestra el estado: en verde los cambios ya rastreados, en rojo los archivos modificados que aún no añades.
  3. git commit -m "mensaje" empaca esos cambios en una versión con una descripción.

Después envías todo con git push origin nombre-de-la-rama. Origin es el nombre que Git le da al remote por defecto, y la rama puede ser, por ejemplo, why-again.

¿Cómo se escribe un buen mensaje de commit? Conjuga el verbo como si completara la frase "si aplicara este commit". Ejemplo correcto: duplica una escena y rota la cámara. Así otra persona entiende qué hace ese cambio al aplicarse.

Para confirmar que todo subió, abre tu repositorio en GitHub (en la clase se llama pc-xmas) y verifica que tu commit aparezca como el último.

Qué hacer cuando aparece un error al hacer push

Imagina que agrandas al Santa en tu escena de Unity, haces git add, git commit -m "agranda al Santa" y git push origin, pero te aparece un error. No es nada grave: significa que un colega subió cambios al mismo branch antes que tú y Git te pide que primero descargues lo que hay en el remote.

La solución es git pull origin nombre-de-la-rama. Eso descarga los cambios de tu colega y los fusiona con los tuyos. Cuando aparezca la pantalla de mensaje de fusión, sales con :q.

Cómo revisar diferencias con git diff

Si tu colega subió un archivo de texto y tú quieres modificarlo, después de guardar puedes usar git diff nombre-del-archivo para ver línea por línea qué se añadió o cambió. Es especialmente útil con archivos de texto plano porque te muestra el antes y después sin abrir editores externos [10:30].

Después de revisar, repites el ciclo: git add, git commit -m "saluda a la otra persona" y git push origin nombre-de-la-rama.

Conceptos clave que aparecen en la clase

  • Remote: el repositorio en la nube, normalmente GitHub, con el que sincronizas tu copia local.
  • Push y pull: subir y descargar cambios respectivamente entre tu máquina y el remote.
  • Commit: una versión empaquetada de tus cambios con un mensaje descriptivo.
  • Branch: la rama del proyecto en la que estás trabajando, como why-again.
  • SSH key vs GPG key: ambas son criptografía, pero aquí usas SSH para autenticarte.

Con este flujo ya puedes enviar tu trabajo y recibir el de tu equipo sin pisarte con nadie. ¿Te ha pasado que un push te falla por cambios remotos? Cuéntame en los comentarios cómo lo resolviste.