Ficha · Sesión 08 · Módulo II, La bitácora
«De la pregunta a la herramienta»
¿Cómo se corrige un error sin perder el registro de que ocurrió?
Con otra nota, no con goma: git revert agrega una versión que deshace la equivocada, y las dos quedan en el historial. Solo lo que nunca guardaste se puede perder.
Regresar a la versión que funcionaba
El oficio que ya tienes
En el cuaderno de campo un error no se borra: se tacha con una línea que deja leer lo de abajo y se anota la corrección con su fecha. Así se sabe qué se creyó, cuándo y por qué se cambió. git revert es esa línea; el historial conserva lo tachado.
En Marienthal
El agente cambia la redacción de una pregunta y, de paso, rompe el formato del cuestionario. Si no lo has guardado, git restore lo devuelve a la última versión. Si ya está guardado, git log te da el identificador y git revert crea la corrección, con un mensaje que dice qué se rompió. La versión rota queda en el historial, como queda en el cuaderno una nota tachada.
En tu proyecto
Ensaya en tu proyecto antes de necesitarlo: haz un cambio y descártalo con git restore; guarda otro y deshazlo con git revert. Mira el resultado en git log y en git reflog. Anota en qué caso usarías cada orden.
Conceptos
- Cambio sin guardar
- Lo que modificaste después de la última versión. Mientras no lo guardes, Git no lo puede recuperar.
- Revertir
- Crear una versión nueva que hace lo contrario de otra. No borra nada: corrige hacia adelante.
- HEAD
- El nombre que Git da al punto del historial donde estás parado; por lo general, la versión más reciente.
- Reflog
- El registro local de cada punto por el que pasó HEAD. Sirve para encontrar versiones guardadas que parecían perdidas.
Instrumental
git restore <archivo>- Descartar los cambios no guardados de ese archivo. No tiene vuelta atrás.
git restore --staged <archivo>- Sacar el archivo de la preparación sin tocar su contenido.
git restore --source=<id> <archivo>- Traer el archivo como estaba en esa versión; después se guarda como versión nueva.
git revert <id>- Crear una versión que deshace esa otra, con un mensaje que explica por qué.
git reflog- Ver cada punto por el que pasaste, con su identificador, para recuperar lo que parecía perdido.
Para tu bitácora
¿Qué te atreverías a probar en tu proyecto ahora que sabes que puedes volver a la versión que funcionaba?