Introduction
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.
Al introducir un indicador, lo primero que hace CLI de Copilot es capturar el estado del área de trabajo. Esta instantánea le permite revertir a ese punto de la sesión si es necesario. Puede desencadenar un rebobinado presionando Esc dos veces o mediante el /undo comando de barra diagonal.
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.
Revertir con doble pulsación de 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.
- No se puede deshacer el rebobinado. 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 un mensaje que has ingresado:
-
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.
-
Presione Esc dos veces en sucesión rápida para abrir el selector de rebobinado.
El selector de retroceso enumera las instantáneas disponibles para la sesión actual, con la más reciente en primer lugar. 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.
-
Elija 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 /undo barra diagonal
El /undo comando de barra diagonal y su alias /rewindproporcionan una manera alternativa de abrir el selector de rebobinado.
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
Después de revertir, puede usar comandos de Git para comprobar el estado del repositorio y confirmar que coincide con sus expectativas.
Al escribir ! , puede ejecutar comandos de shell directamente desde el símbolo del CLI de Copilot sistema de entrada, 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 sin preparar. | ! git diff |