Skip to main content

Cancelando uma CLI do GitHub Copilot operação e revertendo alterações

Saiba mais sobre as diferentes maneiras de cancelar uma operação ativa Copilot e como reverter as alterações feitas durante uma sessão se o resultado não for o esperado.

Introdução

Ao trabalhar em uma sessão interativa CLI do Copilot , você pode pressionar Esc ou Ctrl+C para controlar o que Copilot está fazendo. Ambas as teclas podem cancelar operações, mas funcionam de forma ligeiramente diferente:

  • Ctrl+C interrompe imediatamente a operação atual.
  • Uma única tecla Esc oferece controle mais gradual, permitindo fechar caixas de diálogo, limpar prompts enfileirados ou cancelar uma operação gradualmente.

Se Copilot já tiver feito alterações e você quiser desfazê-las, você poderá reverter seu workspace para um ponto anterior na sessão. CLI do Copilot tira um instantâneo do estado do seu workspace cada vez que você insere um prompt, e isso permite que você volte para um estado anterior pressionando Esc duas vezes quando Copilot estiver inativo e a área de entrada estiver vazia.

O que pressionar o Esc faz em situações diferentes

Pressionar o Esc uma vez executa ações diferentes dependendo do estado atual da sessão:

Estado atualO que pressionar esc faz
Copilot está ativo sem nenhum prompt na fila.Cancela a operação em execução.
Copilot está ativo e há solicitações na fila.Limpa os prompts na fila sem interromper a operação atual.
Uma caixa de diálogo, sobreposição ou seletor está aberta.Fecha a caixa de diálogo, a superposição ou o seletor.
Copilot está inativo.Mostra um breve lembrete de que pressionar Esc novamente rapidamente abrirá o seletor de rebobinamento. Veja reverter alterações.

Quando usar esc em vez de Ctrl+C

A principal diferença entre essas duas maneiras de cancelar uma operação é que o Esc foi projetado para intervenção gradual direcionada, enquanto Ctrl+C é uma parada dura.

Use Esc quando quiser interagir Copilot sem necessariamente encerrar a operação atual. Por exemplo, se uma caixa de diálogo de permissão for exibida e você quiser negar essa solicitação específica, pressionar Esc ignorará a caixa de diálogo e Copilot continuará funcionando, ela simplesmente não usará a ferramenta que você negou. Da mesma forma, se você tiver enfileirado prompts de acompanhamento e quiser cancelá-los sem interromper o trabalho já em andamento, o Esc limpará a fila enquanto a operação atual continua em execução. Pressionar o Esc só cancelará a operação imediatamente se não houver caixas de diálogo abertas e nenhum prompt enfileirado para limpar primeiro.

Use Ctrl+C quando quiser parar tudo de uma vez. Ele cancela imediatamente a operação ativa e limpa todos os prompts enfileirados em um único pressionar de tecla. Qualquer gravação de arquivo que já esteja em andamento será concluída— os arquivos não são deixados corrompidos no meio da gravação, mas todas as alterações planejadas restantes são abandonadas. Pressionar Ctrl+C uma segunda vez em dois segundos, quando a área de entrada estiver vazia, sairá totalmente da sessão.

Como regra geral, use esc quando quiser intervir seletivamente e Ctrl+C quando quiser parar e recomeçar.

Reverter alterações

Embora Copilot esteja inativo e não haja texto na área de entrada, você pode pressionar Esc duas vezes para exibir uma lista de pontos em sua sessão atual para a qual você pode reverter. Cada ponto corresponde a um instantâneo do workspace que foi tirado imediatamente antes de Copilot começar a trabalhar no prompt mostrado na lista.

Para obter detalhes completos de como usar o keypress Esc duplo para reverter as alterações feitas durante uma sessão, consulte Reverter as alterações feitas durante uma CLI do GitHub Copilot sessão.

Aviso

O retrocesso restaura todo o workspace para o estado em que estava no instantâneo selecionado. Isso reverte todas as alterações feitas após esse ponto , não apenas alterações feitas por Copilot, mas também quaisquer edições manuais e alterações resultantes de comandos de shell. Todos os novos arquivos criados no workspace depois que o instantâneo foi tirado são excluídos, independentemente do status do Git.

O que acontece quando você reverte

Quando você seleciona um instantâneo do seletor de retrocesso, as seguintes ações ocorrem:

  1.        **O estado do Git é restaurado.** O repositório é sincronizado com o commit e o branch do Git registrados no instantâneo.
    
  2.        **Os arquivos não rastreados são limpos.** Os arquivos que não existiam no momento do instantâneo são removidos.
    
  3.        **Os arquivos modificados são restaurados.** Arquivos que foram alterados após o instantâneo são revertidos para o estado de backup, incluindo permissões e estado de estágio.
    
  4.        **O histórico da sessão é truncado.** A conversa é rebobinada até o ponto em que o instantâneo selecionado foi tirado. Todas as mensagens e chamadas de ferramenta que ocorreram após esse ponto são removidas da sessão.
    
  5.        **Instantâneos são removidos.** O instantâneo selecionado e todos os instantâneos após ele são excluídos permanentemente. Somente instantâneos de etapas de conversa anteriores permanecem disponíveis para voltas futuras.
    
  6.        **Reversão confirmada.** Após a reversão, Copilot exibe uma mensagem indicando quantos arquivos foram restaurados.
    
  7.        **Seu prompt é restaurado.** A solicitação associada ao instantâneo selecionado é inserida na área de entrada.
    

Alterações que não podem ser revertidas

O retrocesso não está disponível nas seguintes situações:

  • Arquivos com mais de 10 MB. Arquivos individuais maiores que 10 MB são ignorados durante a criação do instantâneo. As alterações nesses arquivos não são restauradas durante uma reversão.
  • Mais de 500 arquivos alterados. Se mais de 500 arquivos foram alterados durante uma única etapa de uma conversa da CLI, um instantâneo não será criado para essa etapa. Você não poderá reverter as alterações feitas nessa etapa. Instantâneos anteriores não são afetados.

Leitura adicional