Skip to main content

Restauration des modifications apportées pendant une CLI GitHub Copilot session

Revenez à un prompt précédent de votre Copilot pour CLI session pour annuler les modifications de l’historique de la conversation et, éventuellement, restaurer des fichiers.

Présentation

Lorsque vous travaillez dans une session interactive Copilot pour CLI , Copilot vous pouvez apporter des modifications aux fichiers, exécuter des commandes shell et modifier votre référentiel. Si le résultat n’est pas ce que vous attendiez, vous pouvez revenir à un point précédent de la session pour restaurer l'état précédent.

Vous pouvez lancer un retour en arrière en appuyant deux fois sur Échap, ou en utilisant la commande /undo (ou son alias /rewind).

Copilot pour CLI prend en charge deux comportements de rembobinage :

  • Retour arrière basé sur Git : revient à un instantané de l’espace de travail capturé au début d’un prompt.
  • Rembobinage basé sur les outils : vous permet de rembobiner l’historique des conversations uniquement, ou de rembobiner l’historique des conversations et de restaurer les fichiers modifiés Copilot .

Remarque

Le rembobinage via les outils est actuellement une fonctionnalité expérimentale et n’est disponible que si vous avez utilisé la commande slash /experimental on ou l’option de ligne de commande --experimental.

Copilot pour CLI choisit automatiquement l’un de ces comportements de rembobinage en fonction de votre environnement pour offrir la meilleure expérience de rembobinage possible.

Pour déterminer quel mode de rembobinage est actif :

  • Si le sélecteur affiche immédiatement des instantanés et que la sélection de l’un d’eux effectue le retour en arrière, vous utilisez le retour en arrière basé sur Git.
  • Si la sélection d’un point de rembobinage ouvre un menu d’action proposant Conversation uniquement et Conversation + fichiers, vous utilisez un rembobinage basé sur des outils.

Cet article explique comment annuler les modifications. Pour plus d’informations conceptuelles sur le fait de revenir à un point antérieur dans une session, consultez Annulation d’une CLI GitHub Copilot opération et restauration des modifications.

Prerequisites

  • Un point de rembobinage doit exister. Vous ne pouvez pas revenir en arrière avant votre première requête au cours d’une session.
  • Pour le retour en arrière avec Git uniquement : vous devez vous trouver dans un dépôt Git contenant au moins un commit.
  • Pour la restauration effectuée à l’aide d’outils : la restauration des fichiers peut être ignorée pour les fichiers qui ont été modifiés après que Copilot les a modifiés pour la dernière fois.

Revenir en arrière en appuyant deux fois sur la touche Échap

Avertissement

  • Le rembobinage ne peut pas être annulé. Une fois que vous avez effectué une restauration, l’historique des sessions ultérieures est définitivement supprimé.
  • Dans le retour en arrière basé sur Git, l’opération restaure l’intégralité de votre espace de travail dans l’état où il se trouvait au moment de l’instantané sélectionné. Cela rétablit toutes les modifications apportées après ce point, non seulement les modifications apportées par Copilot, mais également les modifications manuelles et les modifications des commandes shell. Tous les nouveaux fichiers créés dans l’espace de travail après la création de l’instantané sont supprimés, quel que soit leur statut Git.
  • Lors d’un retour en arrière à l’aide d’outils, vous pouvez choisir de restaurer les fichiers. Si vous choisissez la restauration de fichiers, les fichiers modifiés après Copilot peuvent être laissés inchangés pour éviter de remplacer vos modifications plus récentes.

Une fois que Copilot a terminé de répondre à une invite que vous avez entrée :

  1. Vérifiez que la zone d’entrée est vide. S’il y a du texte dans la zone d’entrée, appuyez rapidement deux fois de suite sur Échap pour effacer le texte.

  2. Appuyez deux fois en succession rapide sur Échap pour ouvrir le sélecteur de rembobinage.

    Le sélecteur répertorie les points de rembobinage disponibles pour la session en cours, du plus récent au plus ancien. Les dix points les plus récents sont affichés à la fois. S’il y en a plus de dix, utilisez la touche pour faire défiler les points précédents vers le bas. Pour chaque point de rembobinage, le début de la requête que vous avez saisie est affiché, avec une indication du temps écoulé depuis son envoi.

  3. Choisissez un point de rembobinage.

    • Dans le retour en arrière basé sur Git, sélectionner un instantané rétablit l’espace de travail dans l’état où il se trouvait au début de cette requête.
    • Dans le rembobinage basé sur les outils, après avoir choisi un point de rembobinage, vous pouvez sélectionner :
      • Conversation seulement (historique réinitialisé, fichiers inchangés), ou

      • Conversation + fichiers (l’historique est réinitialisé et les fichiers restaurables modifiés par Copilot sont restaurés).

    Remarque

    Dans le retour en arrière basé sur Git, le dépôt est restauré à son état juste avant que Copilot ne commence à travailler sur le prompt, et non juste après avoir fini d’y travailler.

    L’invite que vous avez sélectionnée s’affiche dans la zone d’entrée. Vous pouvez donc la modifier et la soumettre à nouveau, si nécessaire.

Restaurer avec la commande /undo slash

La /undo commande slash et son alias /rewind fournissent une méthode alternative pour ouvrir le sélecteur de rembobinage.

Les deux commandes produisent le même résultat que celui obtenu en appuyant deux fois sur Échap lorsque Copilot est inactif et qu’il n’y a pas de texte dans la zone de saisie.

Vérification de l'annulation

Après la restauration, vous pouvez utiliser des commandes Git pour vérifier l’état de votre référentiel et confirmer qu’il correspond à vos attentes.

La saisie ! vous permet d’exécuter des commandes shell directement à partir de l’invite Copilot pour CLI d’entrée. Vous n’avez donc pas besoin de quitter l’interface CLI pour vérifier l’état du référentiel.

PourEntrez cette commande
Vérifiez les fichiers qui s’affichent comme modifiés, intermédiaires ou non suivis.! git status
Affichez le SHA et le message de validation du commit actuel.! git log --oneline -1
Examinez les modifications non indexées.! git diff

Lectures complémentaires