Skip to main content
Skip to content

Annulation d’une GitHub Copilot CLI opération et restauration des modifications

Découvrez les différentes façons d’annuler une opération active Copilot et comment restaurer les modifications apportées pendant une session si le résultat n’est pas ce que vous attendiez.

Introduction

Lorsque vous travaillez dans une session interactive Copilot CLI , vous pouvez appuyer sur Échap ou Ctrl+C pour contrôler ce qui Copilot se passe. Les deux touches peuvent annuler les opérations, mais elles fonctionnent légèrement différemment :

  • Ctrl+C prend effet immédiatement, sans qu’une seconde pression soit nécessaire : les invites en attente sont d’abord supprimées (une à chaque pression), puis l’opération en cours est annulée.
  • Une seule pression sur la touche Échap offre un contrôle plus progressif, par étapes. Pendant que Copilot est en cours d’exécution, un seul appui sur Échap n’annule pas immédiatement l’opération : un rappel s’affiche, et un deuxième appui interrompt l’opération en cours. Dans une session locale, toutes les requêtes en attente sont ensuite traitées lors du tour suivant. Dans une session à un serveur principal distant ou rattaché, la deuxième pression annule alors complètement l’opération, et les prompts en attente ne sont pas reportées à l’interaction suivante.

Si Copilot des modifications ont déjà été apportées et que vous souhaitez les annuler, vous pouvez revenir à un point précédent dans la session. Pendant que Copilot fonctionne, Copilot CLI suit les modifications apportées au fichier au fur et à mesure qu’il répond à chaque instruction. Cela vous permet de revenir à un point antérieur en appuyant deux fois sur la touche Échap lorsque Copilot est inactif et que la zone de saisie est vide. Lorsque vous revenez en arrière, vous pouvez choisir de revenir en arrière uniquement dans la conversation, ou aussi de restaurer les fichiers que Copilot a modifiés.

Que fait l'appui sur Échap dans différentes situations

Appuyez sur Échap une fois pour effectuer différentes actions en fonction de l’état actuel de la session :

État actuelQue se passe-t-il en appuyant sur Échap ?
Copilot est actif sans invite en file d’attente.Affiche un rappel « Appuyez à nouveau sur Échap pour annuler ». L’opération en cours d’exécution est annulée uniquement si vous appuyez à nouveau sur Échap en moins d’une demi-seconde.
Copilot est actif et il existe des invites en file d’attente.Affiche le rappel « Appuyez à nouveau sur Échap pour annuler ». Appuyez de nouveau sur Échap pour interrompre l’opération actuelle. Dans une session locale, les invites mises en file d’attente sont ensuite traitées comme tour suivant ; dans une session sauvegardée à distance ou attachée, l’opération est entièrement annulée et les invites mises en file d’attente ne sont pas exécutées en tant que tour de suivi.
Une boîte de dialogue d’autorisation est ouverte.Une seule pression sur Échap rejette la requête en attente (sans avoir à appuyer une deuxième fois).
Une boîte de dialogue, une superposition ou un sélecteur est ouverte.Ferme la boîte de dialogue, la superposition ou le sélecteur.
Copilot est inactif.Affiche un bref rappel indiquant que l’appui sur Échap une deuxième fois rapidement ouvre le sélecteur de rembobinage. Voir Annuler les modifications.

Appuyer deux fois rapidement sur Échap, lorsque Copilot est inactif et que la zone d’entrée est vide, vous permet de revenir à un point antérieur de la session. Dans d’autres situations, un double appui sur Échap entraîne l’une des actions suivantes, dans cet ordre de priorité :

  • Annule une commande shell en cours d’exécution.
  • Arrête la réponse actuelle.
  • Arrête les agents d’arrière-plan.
  • Efface le texte dans la zone d’entrée.

Si aucun de ces éléments ne s’applique, le sélecteur de rembobinage s’affiche.

Quand utiliser Escape au lieu de Ctrl+C

La principale différence entre ces deux méthodes d’annulation d’une opération est que échap est conçu pour une intervention progressive et ciblée, tandis que Ctrl+C est un arrêt dur.

Utilisez Échap lorsque vous souhaitez confirmer la touche avant d’interrompre une opération. Si une boîte de dialogue d’autorisation s’affiche et que vous souhaitez refuser cette demande spécifique, appuyez une fois sur Échap pour rejeter la demande et arrêter l’opération actuelle. Si vous avez mis en file d’attente des prompts de suivi dans une session locale, le fait d’appuyer deux fois sur Échap interrompt l’opération en cours et traite les prompts mis en file d’attente lors du tour suivant. Dans une session à un serveur principal distant ou rattaché, appuyer deux fois sur Échap annule complètement l’opération, et les demandes mises en file d’attente ne sont pas exécutées lors d’un tour suivant.

Utilisez Ctrl+C lorsque vous souhaitez annuler sans avoir à appuyer une seconde fois pour confirmer, comme l’exige Échap. Si aucune commande n’est en attente, un seul Ctrl+C annule immédiatement l’opération en cours. Si vous avez des invites mises en file d’attente, chaque ctrl+C supprime l’invite la plus récente mise en file d’attente (une par pression) et annule l’opération active une seule fois que la file d’attente est vide. Toute écriture de fichier déjà en cours se termine , les fichiers ne sont pas endommagés au milieu de l’écriture, mais les modifications planifiées restantes sont abandonnées. Appuyer une seconde fois sur Ctrl+C dans un délai de deux secondes quand la zone d'entrée est vide quitte entièrement la session.

En règle générale, utilisez Échap lorsque vous souhaitez intervenir de manière sélective, et Ctrl+C lorsque vous souhaitez arrêter et recommencer.

Annulation des modifications

Bien qu’il Copilot soit inactif et qu'aucun texte ne se trouve dans la zone d’entrée, vous pouvez appuyer deux fois sur Échap pour afficher une liste de points dans votre session en cours vers laquelle vous pouvez revenir. Chaque point correspond à une requête que vous avez soumise, et revenir en arrière ramène la session à l’état dans lequel elle se trouvait juste avant que Copilot ne commence à traiter cette requête.

Après avoir choisi un point de rembobinage, vous décidez si vous voulez :

  • Revenez en arrière sur la conversation uniquement, sans modifier vos fichiers.
  • Revenir en arrière dans la conversation et restaurer les fichiers, ce qui restaure les fichiers Copilot modifiés tout en conservant vos propres modifications ultérieures.

Étant donné que Rewind restaure uniquement les fichiers Copilot modifiés, et non l’ensemble de votre espace de travail, il fonctionne dans n’importe quel répertoire, y compris dans des dossiers qui ne sont pas des dépôts Git.

Pour plus d’informations sur l’utilisation de la touche échap double pour restaurer les modifications apportées pendant une session, consultez Restauration des modifications apportées pendant une GitHub Copilot CLI session.

Avertissement

Le rembobinage restaure tout votre espace de travail à l’état où il était au moment du snapshot sélectionné. Cela rétablit toutes les modifications apportées après ce point, non seulement les modifications apportées par Copilot, mais également toutes les modifications manuelles et les modifications résultant des commandes shell. Tous les nouveaux fichiers créés dans l’espace de travail après la prise de l’instantané sont supprimés, quel que soit leur état Git.

Que se passe-t-il lorsque vous faites un retour en arrière

Les actions qui se produisent lorsque vous restaurez dépendent de l’option que vous choisissez.

Si vous choisissez de revenir en arrière dans la conversation et de restaurer les fichiers :

  1. Les fichiers sont restaurés. Les fichiers Copilot modifiés sont rétablis à l’état dans lequel ils se trouvaient avant l’invite sélectionnée. Les fichiers dont le contenu actuel ne correspond plus à ce que Copilot le dernier écrit, par exemple, parce que vous les avez modifiés vous-même, sont ignorés afin que vos modifications ultérieures ne soient pas remplacées.
  2. L’historique des sessions est tronqué. La conversation est rembobinée jusqu’au point sélectionné. Tous les messages et appels d’outil qui se sont produits après ce point sont supprimés de la session.
  3. Les instantanés obsolètes sont supprimés. Les modifications apportées au fichier capturé pour les interactions ignorées sont nettoyées. Les points précédents restent disponibles pour des retours en arrière ultérieurs.
  4. Retour en arrière confirmé. Après la restauration, Copilot affiche un message indiquant le nombre de fichiers restaurés et note les fichiers ignorés.
  5. Votre invite est restaurée. L’invite associée au point sélectionné est placée dans la zone d’entrée. Vous pouvez donc la modifier et la soumettre à nouveau.

Si vous choisissez de revenir en arrière dans la conversation uniquement, vos fichiers restent inchangés : l’historique de la session est tronqué (étape 2) et votre prompt est rétabli dans la zone de saisie (étape 5).

Modifications qui ne peuvent pas être restaurées

La restauration de fichiers est ignorée ou indisponible dans les situations suivantes :

  • Fichiers de plus de 10 Mo. Les fichiers individuels de plus de 10 Mo sont ignorés pendant la capture, de sorte que les modifications apportées à ces fichiers ne sont pas restaurées lors d’une restauration.
  • Plus de 500 fichiers modifiés. Si plus de 500 fichiers ont été modifiés lors d’un tour unique, les modifications de fichier pour ce tour ne sont pas capturées. Vous ne pourrez donc pas restaurer les fichiers pour celui-ci. D’autres tours ne sont pas affectés.
  • Fichiers que vous avez modifiés vous-même. Les fichiers dont le contenu actuel ne correspond plus à ce que Copilot a écrit en dernier sont laissés inchangés plutôt que d’être écrasés.
  • Sessions sans suivi de fichier. Si vous reprenez une session démarrée avant l’activation du suivi des modifications de fichier, seul le rewind de conversation est disponible. Démarrez une nouvelle session pour pouvoir restaurer les modifications de fichier.
  • Sessions sauvegardées sur un serveur distant ou occupées. Le retour en arrière n’est pas disponible pour les sessions adossées à un backend distant, ni tant que la session contient encore du travail en cours.

Lectures complémentaires