Al hacer vibe coding, este día llega inevitablemente. Pides a la IA que añada una función a una app que funcionaba bien hasta ayer, y acaba modificando todo hasta dejarla inutilizable. Aunque le digas: «Devuélvela al estado anterior», no puede restaurarla con precisión. Ha cambiado veinte lugares y ni siquiera la propia IA sabe cuál causa el problema.
Git existe para ese día. Mucha gente pregunta: «Si la IA recuerda todo el código, ¿para qué necesito Git?». La conclusión es que la IA no puede recordar el código. Lo olvida cuando la conversación se alarga, y una conversación nueva empieza desde cero. Quien recuerda el pasado del código no es la IA, sino Git.
Git es el punto de guardado del juego
El concepto de Git es exactamente como guardar una partida. Guardas antes de entrar en una batalla contra un jefe porque, aunque mueras, puedes volver a empezar desde ese punto. El commit(commit) de Git es ese guardado. Cada commit conserva permanentemente una instantánea de todos los archivos del proyecto en ese momento.
Los commits se acumulan como los archivos guardados. Hay un commit del momento en que se terminó el inicio de sesión y otro de antes de añadir los pagos. Puedes volver a cualquier momento. Eso es justo lo que necesitas cuando la IA rompe la app. En vez de buscar el problema entre veinte cambios, devuelve todo el proyecto al último punto de guardado.
Solo necesitas conocer cuatro palabras
Git tiene decenas de comandos, pero quienes hacen vibe coding solo necesitan cuatro conceptos. Ni siquiera hace falta memorizar los comandos: pedirás a la IA que los ejecute con lenguaje natural.
- repository(repository): El «almacén de datos guardados» asociado a la carpeta del proyecto. Las herramientas de programación con IA suelen crearlo al principio.
- commit(commit): Un guardado. Registra una instantánea del estado actual en el almacén.
- push(push): Hacer una copia de seguridad de los guardados en la nube. El servidor de respaldo es GitHub. Por eso tu código sobrevive si se estropea el ordenador.
- rollback(restauración): Devolver todo el proyecto a un punto de guardado anterior.
En la parte 2 ya tratamos una precaución al hacer copias en GitHub. Si dejas un repositorio como Public, los bots lo rastrean en minutos. Salvo que haya una razón especial, Private(Private) es la opción predeterminada.
Ritmo práctico: «una función, un commit»
Usar Git se resume en un hábito: guardar cada vez que algo empieza a funcionar bien.
- El inicio de sesión por fin funciona → «Haz commit del estado actual»
- Antes de retocar el diseño → «Haz commit antes de modificarlo»
- Fin de la jornada → «Haz commit y push a GitHub»
Ya uses Cursor o Claude Code, todas las herramientas de programación con IA entienden estas instrucciones y las ejecutan por ti. No tienes que escribir los comandos. Lo importante es el momento. Si no guardas antes de la batalla contra el jefe (un cambio grande), no tendrás dónde volver tras morir. El commit realizado antes de pedir a la IA un cambio importante es el más valioso.
El fallo más común es el contrario: acumular trabajo durante días sin hacer commit y que luego la IA rompa la app. Sin un punto de guardado al que volver, el código de cuando todo funcionaba desaparece para siempre. Git tampoco puede proteger cambios que no has confirmado.
Cuando algo se rompe: rollback en 1 minuto
Si la IA rompe la app, sigue estos pasos.
- Díselo con calma a la IA: «La app se rompió con el cambio anterior. Devuélvela al estado del último commit».
- Cuando la IA ejecuta el rollback, desaparecen todos los cambios posteriores al commit y el proyecto vuelve al punto de guardado.
- Después de comprobar que la app vuelve a funcionar, reintenta el cambio fallido en partes más pequeñas. No le pidas que modifique veinte lugares de una vez: cambia una sola cosa cada vez.
Aquí reaparece la distinción de la parte 1. El rollback solo restaura el código. Los datos acumulados en la DB permanecen igual, independientemente de Git. Restaurar el código a ayer no elimina a los usuarios registrados hoy. Del mismo modo, Git no puede recuperar datos borrados por error. Git gestiona el pasado del código; las copias de la DB, el pasado de los datos.
.envLo mismo ocurre con el archivo. En la parte 2 se registró en .gitignore para que Git no lo siguiera, así que Git no lo protege. Si vuelves a generar la clave, guárdala por separado en un lugar seguro, como un gestor de contraseñas.
Comprobación personal que puedes hacer hoy
Pregúntale esto a la IA.
- «¿Este proyecto tiene un repositorio Git? ¿Cuándo fue el último commit?» — Si no hay repositorio o el último commit fue hace una semana, es hora de hacer commit.
- «¿Se está haciendo backup (push) en GitHub? ¿El repositorio es público o privado?» — Si no hay copia, pide que la cree; si es público, considera convertirlo en privado.
- «¿Cuántos cambios sin commit se han acumulado?» — Si todo funciona bien, pide que haga commit de inmediato.
Resumen
- La IA no puede recordar el pasado del código. Recordarlo es tarea de Git.
- Un commit es un guardado, un push es una copia en la nube (GitHub) y un rollback es volver a un punto de guardado.
- El ritmo es uno: cada vez que todo funcione bien y justo antes de un cambio importante, di «Haz commit».
- El rollback solo restaura el código. Los datos de la DB y
.envpertenecen al mundo fuera de Git. - Salvo que haya una razón especial, los repositorios privados son la opción predeterminada.
La próxima parte trata sobre el despliegue. Explicaremos por qué una app que funciona perfectamente en tu ordenador falla al publicarla en Internet, y qué son localhost, el servidor, el dominio y las variables de entorno.

![Imagen de portada de [Vibe Coder #3] ¿Por qué Git si la IA escribe el código? (rollback en 1 min)](/assets/images/posts/3004f618-521a-42fb-a09d-2ad092c241ed/git-save-point-1.jpg)