Repositorios, commits e historial
Tres palabras que escucharás constantemente. Vamos a desmitificarlas.
Un repositorio (o "repo") es simplemente una carpeta que está vigilando. Conviertes una carpeta común en un repositorio una vez, y a partir de entonces Git rastrea todo lo que hay dentro de ella.
Un es un punto de guardado. Es una instantánea de cada archivo en un momento dado, más un mensaje corto tuyo describiendo qué cambió ("añadida la página de inicio", "arreglado el botón de registro que estaba roto"). Haces commits constantemente — piensa en cada uno como un punto de control al que podrías querer volver.
El historial es la lista ordenada de todos tus commits. Es la línea de tiempo. Puedes recorrerla, leer qué fue cada cambio, y viajar de vuelta a cualquier punto.
Así es como se ve esto en la práctica. No te preocupes por memorizarlo — normalmente dejarás que la IA ejecute estos comandos por ti — pero sigue leyendo para que las palabras dejen de ser un misterio:
# Turn the current folder into a Git repository (do this once)
git init
# See which files have changed since your last save point
git status
# Stage your changes, then save them as a commit with a message
git add .
git commit -m "Add the homepage layout"
# Look at your history — every commit, newest first
git log --oneline
git add . es tu forma de decir "incluye todos mis cambios en el próximo punto de guardado." git commit es el guardado real. El -m "..." es tu nota para tu yo futuro. Escribe notas que entenderías dentro de un mes.
Esos dos comandos mueven tu trabajo a través de tres etapas. Un archivo que editas no está guardado hasta que ha viajado todo el camino hacia la derecha:
┌─────────────────┐ git add ┌─────────────────┐ git commit ┌─────────────────┐
│ WORKING DIR │ ─────────▶ │ STAGING │ ───────────▶ │ HISTORY │
│ files you edit │ │ changes picked │ │ saved commits │
│ (not saved yet)│ │ for next save │ │ (safe forever) │
└─────────────────┘ └─────────────────┘ └─────────────────┘
you change you choose what it becomes a
a file goes in the commit permanent snapshot