Ir al contenido

Deshacer y el log de operaciones

jj registra cada cambio en el repositorio como una operación: un describe, un rebase, un squash, un fetch, el movimiento de un bookmark. La lista de operaciones es el log de operaciones, y es lo que hace que todo en Wyrm se pueda deshacer.

  • Haz clic en Undo en la barra superior (su tooltip indica la operación que va a deshacer) o pulsa ⌘Z.
  • Pulsa ⌘⇧Z para rehacer.

Cada undo retrocede una operación más. Dentro de un campo de texto, ⌘Z deshace lo que has escrito.

Deshacer cambia solo tu repositorio local. Los commits que ya has subido con push siguen en el remoto; vuelve a hacer push después de deshacer si el remoto debe seguir el cambio.

Haz clic en Operaciones (el reloj) en la barra de iconos. Las operaciones más recientes están arriba. Todo, Commits y Refs filtran la lista, y la cabecera tiene los botones Undo, Redo y de actualizar.

Haz clic en el chevron de una fila (Mostrar qué cambió esta operación). Wyrm lista los bookmarks, tags y la copia de trabajo que movió la operación, cada uno como antes → después, junto con la descripción completa de la operación. Si no movió ninguno, ves «Sin cambios en marcadores, tags ni copia de trabajo.»

Haz clic en una fila para devolver todo el repositorio al estado en que quedó justo después de esa operación. Wyrm pregunta antes (¿Restaurar a esta operación?). Las operaciones posteriores se quedan en el log, así que una restauración también se puede deshacer.

El menú ⋯ de la fila tiene versiones más acotadas:

  • Restaurar solo commits y marcadores
  • Restaurar solo los marcadores de seguimiento remoto

¿No sabes qué operación quieres? Mira primero.

  1. En el panel Operaciones, abre el menú ⋯ de una fila y elige Ver el repositorio en esta operación.
  2. El log muestra ahora el repositorio tal como estaba entonces, bajo un banner Operación pasada con la descripción y la hora de la operación.
  3. Usa Anterior y Posterior en el banner para recorrer el historial.
  4. Haz clic en Restaurar hasta aquí para convertir ese estado en el actual, o en Volver al presente para regresar sin cambiar nada.

Mientras miras el pasado, todo es de solo lectura: arrastrar, los menús de edición y las acciones de la barra de herramientas están desactivados hasta que vuelves. Si lo intentas de todos modos, Wyrm dice «No disponible mientras ves una operación pasada» y ofrece Volver al presente.

Abandonar un commit, olvidar un workspace o retroceder con una restauración no destruye nada: el estado anterior sigue en el log de operaciones. Si algo ha desaparecido del grafo del log, casi siempre está a un undo o a una restauración de distancia.

Los equivalentes en jj son jj undo, jj redo, jj op log, jj op show, jj op diff y jj op restore; también puedes ejecutarlos en el terminal integrado.