Skip to main content
Skip to content

Cancelar una GitHub Copilot CLI operación y revertir los cambios

Obtenga información sobre las distintas formas de cancelar una operación activa Copilot y cómo revertir los cambios realizados durante una sesión si el resultado no es lo que esperaba.

Introduction

Al trabajar en una sesión interactiva Copilot CLI , puede presionar Esc o Ctrl+C para controlar lo que Copilot está haciendo. Ambas teclas pueden cancelar las operaciones, pero funcionan ligeramente de manera diferente:

  • Ctrl+C actúa inmediatamente, sin necesidad de una segunda pulsación de confirmación: primero elimina las solicitudes en cola (una por pulsación) y luego cancela la operación actual.
  • Una sola tecla Esc le ofrece un control más gradual y preconfigurado. Aunque Copilot está trabajando activamente, un único Esc no se cancela inmediatamente, muestra un recordatorio y una segunda pulsación interrumpe la operación actual. En una sesión local, las solicitudes en cola se procesan como el siguiente turno. En una sesión con respaldo remoto o conectada, al pulsar por segunda vez se cancela por completo la operación y las solicitudes en cola no se transfieren al siguiente turno.

Si Copilot ya ha realizado cambios y desea deshacerlos, puede revertir a un punto anterior de la sesión. Como Copilot funciona, Copilot CLI realiza un seguimiento de los cambios realizados en el archivo a medida que responde a cada solicitud. Esto le permite rebobinar a un punto anterior presionando Esc dos veces cuando Copilot está inactivo y el área de entrada está vacía. Al rebobinar, elige si desea rebobinar solo la conversación o restaurar también los archivos que Copilot han cambiado.

Qué hace la tecla Esc en diferentes situaciones

Al presionar Esc una vez se realizan diferentes acciones en función del estado actual de la sesión:

Estado actualLo que ocurre al presionar Esc
Copilot está activo sin indicaciones en cola.Muestra un recordatorio de "Pulsa Esc de nuevo para cancelar". La operación en ejecución solo se cancela si presiona Esc de nuevo en medio segundo.
Copilot está activo y hay mensajes en cola.Muestra el recordatorio "Pulsa Esc de nuevo para cancelar". Al presionar Esc , se interrumpe de nuevo la operación actual. En una sesión local, las solicitudes en cola se procesan como el siguiente turno; en una sesión adjunta o con respaldo remoto, la operación se cancela por completo y las solicitudes en cola no se ejecutan como un turno de seguimiento.
Se abre un cuadro de diálogo de permisos.Un único Esc deniega la solicitud pendiente (no se necesita ninguna segunda pulsación).
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 breve recordatorio de que pulsar Esc de nuevo rápidamente abrirá el selector de rebobinado. Consulte Revertir cambios.

Al presionar Esc dos veces rápidamente, cuando Copilot está inactivo y el área de entrada está vacía, le permite revertir a un punto anterior de la sesión. En otras situaciones, un doble Esc realiza una de las siguientes acciones, en este orden de prioridad:

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

Si no se aplica ninguno de estos elementos, se muestra el selector de rebobinado.

Cuándo usar Esc en lugar de Ctrl+C

La principal diferencia entre estas dos formas de cancelar una operación es que Esc está diseñado para la intervención gradual y dirigida, mientras que Ctrl+C es una parada difícil.

Use Esc cuando quiera una pulsación de confirmación antes de interrumpir una operación. Si aparece un cuadro de diálogo de permisos y desea denegar esa solicitud específica, al presionar Esc una vez rechaza la solicitud y se detiene la operación actual. Si ha puesto en cola indicaciones de seguimiento en una sesión local, al pulsar Esc dos veces se interrumpe la operación actual y se procesan las indicaciones en cola como el siguiente turno. En una sesión respaldada de forma remota o conectada, al pulsar Esc dos veces se cancela por completo la operación y las indicaciones en cola no se ejecutan como un turno de seguimiento.

Use Ctrl+C cuando desee cancelar sin la segunda pulsación de confirmación que requiere Esc. Si no hay solicitudes en cola, una sola pulsación de Ctrl+C cancela inmediatamente la operación activa. Si tiene solicitudes en cola, cada Ctrl+C elimina la solicitud en cola más reciente —una por pulsación— y cancela la operación activa solo cuando la cola está vacía. 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.

Como regla general, use Esc cuando quiera intervenir de forma selectiva y Ctrl+C cuando quiera detener e iniciar la acción.

Revierte los cambios

Aunque Copilot está inactivo y no hay texto en el área de entrada, puede presionar Esc dos veces para mostrar una lista de puntos en la sesión actual a la que puede revertir. Cada punto corresponde a una instrucción que enviaste, y rebobinar devuelve la sesión al estado en el que se encontraba inmediatamente antes de que Copilot empezara a trabajar en esa instrucción.

Una vez que elijas un punto de retroceso, decides si:

  • Rebobine solo la conversación, dejando los archivos intactos.
  • Retroceda en la conversación y restaure los archivos, lo que revierte los archivos Copilot modificados sin afectar a sus propias ediciones posteriores.

Como solo restaura los archivos modificados Copilot en lugar de todo el directorio de trabajo, Rewind funciona en cualquier directorio, incluidas las carpetas que no son repositorios de Git.

Para obtener detalles completos sobre cómo usar la tecla Esc doble para revertir los cambios realizados durante una sesión, consulte Revertir los cambios realizados durante una GitHub Copilot CLI sesión.

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.

¿Qué ocurre cuando revierte?

Las acciones que se producen al revertir dependen de la opción que elija.

Si decides retroceder en la conversación y restaurar archivos:

  1. Los archivos se restauran. Los archivos Copilot modificados se restablecen al estado en el que se encontraban antes de la indicación seleccionada. Los archivos cuyo contenido actual ya no coincida con lo que Copilot escribió por última vez (por ejemplo, porque los editó usted mismo) se omiten para que las ediciones posteriores no se sobrescriban.
  2. El historial de sesiones se abrevia. La conversación se vuelve a reproducir en el punto seleccionado. Todos los mensajes y llamadas a herramientas que se produjeron después de ese punto se eliminan de la sesión.
  3. Se quitan las instantáneas obsoletas. Se eliminan los cambios en el archivo capturado correspondientes a los turnos descartados. Los puntos anteriores siguen estando disponibles para futuros rebobinados.
  4. Revertido confirmado. Después de la reversión, Copilot muestra un mensaje que indica cuántos archivos se restauraron y anota los archivos que se omitieron.
  5. Se restaura el mensaje. La instrucción asociada al punto seleccionado se inserta en el área de entrada, para que pueda editarla y volver a enviarla.

Si decide reenredar solo la conversación, los archivos se dejan intactos: el historial de sesión se trunca (paso 2) y el mensaje se restaura en el área de entrada (paso 5).

Cambios que no se pueden revertir

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

  • Archivos de más de 10 MB. Los archivos individuales de más de 10 MB se omiten durante la captura, por lo que los cambios en esos archivos no se restauran durante una reversión.
  • Más de 500 archivos modificados. Si se cambiaron más de 500 archivos durante un solo turno, los cambios de archivo para ese turno no se capturan, por lo que no podrá restaurar archivos para él. Otros turnos no se ven afectados.
  • Archivos que cambió usted mismo. Los archivos cuyo contenido actual ya no coincide con lo que Copilot escribió por última vez se dejan intactos en lugar de sobrescribirse.
  • Sesiones sin seguimiento de archivos. Si retoma una sesión que se inició antes de habilitar el seguimiento de cambios en archivos, solo estará disponible el retroceso de la conversación. Inicie una nueva sesión para poder restaurar los cambios de archivo.
  •           **Sesiones respaldadas de forma remota u ocupadas.** Rewind no está disponible en las sesiones con respaldo remoto ni mientras la sesión aún tenga trabajo en curso.
    

Lectura adicional