Skip to main content
Skip to content

Cancelación de operaciones y reversión de cambios en la CLI de GitHub Copilot

Detenga una operación activa Copilot CLI o retroceda en una sesión para deshacer los cambios en el historial de conversaciones y, opcionalmente, restaurar archivos.

Introducción

Cuando trabaja en una sesión interactiva Copilot CLI , puede detener el trabajo en curso o deshacer el trabajo que ya se ha completado:

  • Cancelar una operación mediante Esc o Ctrl+C. Estas claves se comportan de forma diferente en función de si Copilot funciona, los avisos se ponen en cola o se abre un cuadro de diálogo.
  • Deshaga el trabajo completado presionando Esc dos veces cuando Copilot está inactivo, o mediante el /undo comando de barra diagonal o su alias /rewind.

Al revertir, puede elegir si desea retroceder solo la conversación o restaurar también los archivos que Copilot cambió.

Rewind funciona en cualquier directorio, incluidas las carpetas que no son repositorios de Git. Restaura solo los archivos que Copilot ha cambiado.

Cancelar una operación

Use Esc cuando desee tener un control gradual y preciso. Mientras Copilot está funcionando, la primera pulsación muestra un aviso y una segunda pulsación interrumpe la operación. Una sola pulsación también cierra un cuadro de diálogo abierto o deniega una solicitud de permiso pendiente.

Use Ctrl+C cuando desee cancelar sin la segunda pulsación de confirmación que requiere Esc. Pulsar una sola vez Ctrl+C cancela inmediatamente la operación activa y borra las peticiones en cola. Cualquier escritura de archivo que ya esté en curso se completará (los archivos no se dejan dañados a mitad de escritura), pero se abandonan los cambios planeados restantes. Al presionar Ctrl+C una segunda vez en dos segundos, cuando el área de entrada está vacía, sale por completo de la sesión.

Qué hace la tecla Esc en diferentes situaciones

El efecto de presionar Esc depende del estado actual de la sesión.

Estado actualLo que ocurre al presionar Esc
Copilot está activo sin avisos en cola.Muestra un aviso «Pulse Esc de nuevo para cancelar». Presione Esc de nuevo en medio segundo para cancelar la operación.
Copilot está activo y se ponen en cola las indicaciones.Muestra el aviso de cancelación. Al presionar Esc , se interrumpe de nuevo la operación actual. En una sesión local, los prompts en cola se procesan como el siguiente turno. En una sesión adjunta o con respaldo en remoto, la operación se cancela completamente y las solicitudes en cola no se ejecutan como un turno de seguimiento.
Se abre un cuadro de diálogo de permisos.Deniega la solicitud pendiente sin necesidad de pulsar por segunda vez.
Se abre un cuadro de diálogo, superposición o selector.Cierra el cuadro de diálogo, la superposición o el selector.
Copilot está inactivo.Muestra un recordatorio de que al presionar Esc de nuevo rápidamente se abrirá el selector de rebobinado.

Al pulsar Esc dos veces rápidamente, se abre el selector de rebobinado solo cuando Copilot está inactivo y el área de entrada está vacía. En otras situaciones, pulsar Esc dos veces realiza la primera acción aplicable en este orden:

  1. Cancela un comando de shell en ejecución.
  2. Detiene la respuesta actual.
  3. Detiene los agentes en segundo plano.
  4. Borra el texto del área de entrada.

Rebobinar pulsando dos veces la tecla Esc

Advertencia

  • El rebobinado no se puede deshacer. Una vez que revierta, el historial posterior de sesiones se elimina de forma permanente.
  • Si decide restaurar archivos, Copilot restaura solo los archivos que cambió y omite cualquier archivo cuyo contenido actual ya no coincida con lo que escribió por última vez, por lo que sus propias ediciones posteriores no se sobrescriben.

Prerequisites

  • Debe existir un punto de rebobinado. No puedes retroceder antes de tu primera consulta en una sesión.
  • La restauración de archivos solo está disponible para las sesiones en las que se realiza un seguimiento de los cambios de archivo. Si reanuda una sesión que se inició antes de habilitar el seguimiento de cambios de archivos, solo se ofrece el rebobinado de conversación. Inicie una nueva sesión para poder restaurar los cambios de archivo.
  • Rewind no está disponible para las sesiones con respaldo remoto o mientras la sesión todavía tiene trabajo en curso.

Cuando Copilot haya terminado de responder a una solicitud que hayas introducido:

  1. Asegúrese de que el área de entrada esté vacía y que no haya ningún trabajo en curso. Si hay texto en el área de entrada, al presionar Esc dos veces en sucesión rápida se borra el texto en lugar de abrir el selector.

  2. Pulsa Esc dos veces seguidas para abrir el selector de retroceso.

    El selector enumera los puntos de rebobinado disponibles para la sesión actual, ordenados del más reciente al más antiguo. Los diez puntos más recientes se muestran a la vez. Si hay más de diez, use las teclas de flecha ↑ y ↓ para desplazarse por ellas. Para cada punto de rebobinado, se muestra el principio de la indicación que introdujo, junto con cuánto tiempo hace que la envió. Para turnos que cambiaron los archivos, también se muestra el número de líneas agregadas y eliminadas por ese turno.

  3. Elija un punto de rebobinado y presione Enter.

    Al elegir un punto de rebobinado se abre un menú de acción en el que puede seleccionar Solo conversación o Conversación + archivos. Este último no está disponible para un punto de retroceso cuando ni ese paso ni ningún paso posterior cambiaron archivos que se puedan restaurar. Antes de restaurar, Copilot muestra una vista previa por archivo de los cambios para que pueda confirmar.

    Nota:

    El rebobinado se aplica en relación con el estado inmediatamente antes deCopilot empezar a trabajar en el prompt, no inmediatamente después de que haya terminado de trabajar en el prompt.

    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.

¿Qué ocurre cuando revierte?

Si decide rebobinar la conversación y restaurar los archivos:

  1. Copilot restaura los archivos que cambió a su estado antes de la indicación seleccionada. Omite los archivos que editaste después.
  2. La conversación se vuelve a reproducir en el punto seleccionado. Mensajes y llamadas de herramienta después de ese punto se quitan.
  3. Se quitan los cambios de archivo capturados para los turnos descartados. Los puntos de rebobinado anteriores siguen estando disponibles.
  4. Copilot informa del número de archivos que se restauraron e identifica los archivos que se omitieron.
  5. El mensaje seleccionado se coloca en el área de entrada para que pueda editarlo y volver a enviarlo.

Si decide rebobinar solo la conversación, los archivos se dejan intactos. El historial de sesión posterior se quita y el prompt seleccionado se restaura en el área de entrada.

Cambios que no se pueden restaurar

La restauración de archivos se omite o no está disponible en estas situaciones:

  • Archivos de más de 10 MB: no se capturan los cambios realizados en archivos individuales de más de 10 MB.
  • Más de 500 archivos modificados: si un solo turno cambia más de 500 archivos, los cambios de archivo para ese turno no se capturan. Otros turnos no se ven afectados.
  • Archivos que ha cambiado usted mismo: si el contenido actual de un archivo ya no coincide con lo que Copilot escribió por última vez, el archivo se deja intacto.
  • Sesiones sin seguimiento de archivos: si una sesión se inició antes de que se habilitara el seguimiento de cambios de archivos, solo está disponible el retroceso de la conversación.
  • Sesiones con respaldo remoto o activas: el rebobinado no está disponible para las sesiones con respaldo remoto o mientras el trabajo todavía está en curso.

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 Copilot CLI, por lo que no es necesario salir de la CLI para comprobar el estado del repositorio.

Para hacer estoEscriba 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

Lectura adicional