Introducción
Al trabajar en una sesión interactiva CLI de Copilot , Copilot puede realizar cambios en los archivos, ejecutar comandos de shell y modificar el repositorio. Si el resultado no es lo que esperabas, puedes volver a un punto anterior de la sesión para deshacer esos cambios.
Cuando introduce una indicación, lo primero que hace CLI de Copilot es tomar una instantánea del estado de su espacio de trabajo. Esta instantánea le permite revertir a ese punto de la sesión si es necesario. Puede activar el retroceso pulsando Esc dos veces o utilizando el comando de barra /undo.
En este artículo se explica cómo revertir los cambios. Para obtener más información conceptual sobre cómo volver atrás a un punto anterior de una sesión, consulte Cancelar una CLI de GitHub Copilot operación y revertir los cambios.
Prerequisites
- Debe estar trabajando en un repositorio de Git con al menos una confirmación. CLI de Copilot usa operaciones de Git para realizar un seguimiento y restaurar el estado del área de trabajo.
- Debe existir una instantánea. Las instantáneas se crean automáticamente al principio de cada una de las interacciones con Copilot en una sesión de la CLI. No se pueden revertir los cambios realizados antes de la primera solicitud de una sesión o al estado del repositorio para un paso en el que se omitió la creación de instantáneas, consulte Cambios que no se pueden revertir.
Rebobinar pulsando dos veces la tecla Esc
Advertencia
- Rebobinar restaura todo el entorno de trabajo al estado en el que estaba en la instantánea seleccionada. Esto revierte todos los cambios realizados después de ese punto, no solo los cambios realizados por Copilot, sino también las modificaciones manuales y los cambios resultantes de los comandos del shell. Los nuevos archivos creados en el área de trabajo después de que se haya tomado la instantánea se eliminen, independientemente de su estado de Git.
- El rebobinado no se puede deshacer. Una vez que se revierte a una instantánea, todas las instantáneas y el historial de sesiones posteriores a ese punto se eliminan de forma permanente.
Cuando Copilot haya terminado de responder a una solicitud que hayas introducido:
-
Asegúrese de que el área de entrada está vacía. Si hay texto en el área de entrada, al presionar Esc dos veces en sucesión rápida se borra el texto.
-
Pulsa Esc dos veces seguidas para abrir el selector de retroceso.
El selector de retroceso muestra las instantáneas disponibles para la sesión actual, empezando por la más reciente. Se muestran las diez instantáneas más recientes. Si hay más de diez instantáneas disponibles, puede usar la tecla de flecha para desplazarse hacia abajo a través de instantáneas anteriores.
Para cada instantánea, se muestra el principio del mensaje que ingresaste, con una indicación de hace cuánto tiempo lo enviaste.
-
Elige una instantánea a la que revertir. Esto le devolverá al estado del repositorio cuando ingresó el aviso asociado.
Nota:
El repositorio se revierte a su estado inmediatamente antes de que Copilot comenzara a trabajar con la indicación, no inmediatamente después de que haya terminado de trabajar con la indicación.
El mensaje seleccionado se muestra en el área de entrada, por lo que puede editarlo y volver a enviarlo, si es necesario.
Revertir con el comando de barra /undo
El comando de barra /undo, y su alias /rewind, ofrecen una forma alternativa de abrir el selector de reversión.
Ambos comandos producen el mismo resultado que se obtiene presionando Esc dos veces cuando Copilot está inactivo y no hay texto en el área de entrada.
Comprobación de la reversión
Tras revertir los cambios, puede utilizar los comandos de Git para verificar el estado de su repositorio y confirmar que se ajusta a lo esperado.
Al escribir ! podrá ejecutar comandos de shell directamente desde el indicador de entrada CLI de Copilot, por lo que no es necesario salir de la CLI para comprobar el estado del repositorio.
| Para hacer esto | Escriba este comando. |
|---|---|
| Compruebe qué archivos se muestran como modificados, almacenados provisionalmente o sin seguimiento. | ! git status |
| Muestra el SHA y el mensaje de confirmación del commit actual. | ! git log --oneline -1 |
| Revise los cambios no incorporados. | ! git diff |