Skip to main content

Zurücksetzen von Änderungen, die während einer GitHub Copilot-CLI Sitzung vorgenommen wurden

Setzen Sie Ihre Copilot CLI-Sitzung auf einen vorherigen Prompt zurück, um Änderungen im Konversationsverlauf rückgängig zu machen und optional Dateien wiederherzustellen.

Einführung

Wenn Sie in einer interaktiven Copilot CLI Sitzung arbeiten, Copilot können Sie Änderungen an Dateien vornehmen, Shellbefehle ausführen und Ihr Repository ändern. Wenn das Ergebnis nicht ihren Erwartungen entspricht, können Sie einen vorherigen Punkt in der Sitzung zurückspulen, um diese Änderungen rückgängig zu machen.

Sie können einen Rücklauf auslösen, indem Sie Esc zweimal drücken oder den /undo-Befehl „Slash“ (oder dessen Alias /rewind) verwenden.

Copilot CLI unterstützt zwei Arten des Zurückspulens:

  • Git-basiertes Zurücksetzen: setzt den Arbeitsbereich auf eine Momentaufnahme zurück, die zu Beginn eines Prompts erstellt wurde.
  • Toolsbasiertes Zurückspulen: Sie können den Unterhaltungsverlauf nur zurückspulen oder den Unterhaltungsverlauf zurückspulen und Dateien wiederherstellen, die Copilot geändert wurden.

Hinweis

Toolbasiertes Zurücksetzen ist derzeit eine experimentelle Funktion und nur dann verfügbar, wenn Sie den Slash-Befehl /experimental on verwendet oder die Befehlszeilenoption --experimental genutzt haben.

Copilot CLI wählt abhängig von Ihrer Umgebung automatisch eine dieser Rückspuloptionen aus, um das bestmögliche Zurückspulerlebnis zu bieten.

So ermitteln Sie, welche der Verhaltensweisen beim Zurückspulen aktiv ist:

  • Wenn die Auswahlansicht sofort Momentaufnahmen anzeigt und die Auswahl einer davon den Rollback durchführt, verwenden Sie Git-basiertes Zurückspulen.
  • Wenn beim Auswählen eines Zurückspulpunkts ein Aktionsmenü mit Nur Konversation und Konversation + Dateien geöffnet wird, verwenden Sie toolbasiertes Zurückspulen.

In diesem Artikel wird erläutert, wie Sie Änderungen zurücksetzen. Weitere konzeptionelle Informationen zum Zurückspulen zu einem früheren Punkt in einer Sitzung finden Sie unter Abbrechen eines GitHub Copilot-CLI Vorgangs und Zurücksetzen von Änderungen.

Voraussetzungen

  • Ein Zurückspulenpunkt muss vorhanden sein. Sie können vor der ersten Eingabeaufforderung in einer Sitzung kein Rollback ausführen.
  • Nur für Git-basiertes Zurückspulen: Sie müssen sich in einem Git-Repository mit mindestens einem Commit befinden.
  • Für toolsbasiertes Zurückspulen kann die Dateiwiederherstellung für Dateien übersprungen werden, die nach Copilot dem letzten Berühren geändert wurden.

Rückgängig machen mit zweifachem Drücken der ESC-Taste

Warnung

  • Das Zurückspulen kann nicht rückgängig gemacht werden. Sobald Sie ein Rollback durchführen, wird der Sitzungsverlauf späterer Sitzungen dauerhaft gelöscht.
  • Beim Git-basierten Zurücksetzen wird Ihr gesamter Arbeitsbereich auf den Zustand zurückgesetzt, in dem er sich bei der ausgewählten Momentaufnahme befand. Dadurch werden alle Änderungen zurückgesetzt, die nach diesem Zeitpunkt vorgenommen wurden – nicht nur die von Copilot vorgenommenen Änderungen, sondern auch alle manuellen Bearbeitungen und Änderungen durch Shell-Befehle. Alle neuen Dateien, die nach dem Erstellen der Momentaufnahme im Arbeitsbereich erstellt wurden, werden unabhängig vom Git-Status gelöscht.
  • In toolsbasiertem Zurückspulen können Sie auswählen, ob Dateien wiederhergestellt werden sollen. Wenn Sie die Dateiwiederherstellung auswählen, bleiben Dateien, die nach Copilot geändert wurden, möglicherweise unverändert, um zu verhindern, dass Ihre neueren Änderungen überschrieben werden.

Wenn Copilot mit der Beantwortung einer Eingabeaufforderung fertig ist:

  1. Stellen Sie sicher, dass der Eingabebereich leer ist. Wenn im Eingabebereich Text vorhanden ist, löscht das Drücken von ESC zweimal hintereinander den Text.

  2. Drücken Sie Esc zweimal rasch nacheinander, um die Rückspulenauswahl zu öffnen.

    Die Auswahl listet die verfügbaren Wiederherstellungspunkte für die aktuelle Sitzung auf, wobei der neueste zuerst angezeigt wird. Die zehn letzten Punkte werden gleichzeitig angezeigt. Wenn es mehr als zehn sind, verwenden Sie die -Pfeiltaste, um zu früheren Punkten nach unten zu scrollen. Für jeden Rücksetzpunkt wird der Anfang des von Ihnen eingegebenen Prompts angezeigt, zusammen mit einem Hinweis darauf, vor wie langer Zeit Sie ihn abgesendet haben.

  3. Wählen Sie einen Punkt zum Zurückspulen aus.

    • Beim Git-basierten Zurückspulen wird der Arbeitsbereich durch Auswählen einer Momentaufnahme auf den Zustand zu Beginn dieses Prompts zurückgesetzt.
    • Beim werkzeugbasierten Zurückspulen können Sie nach Auswahl eines Zurückspulpunkts Folgendes auswählen:
      • Nur Unterhaltung (Verlauf neu, Dateien unverändert) oder

      • Konversation + Dateien (der Verlauf wird zurückgesetzt und von Copilot geänderte wiederherstellbare Dateien werden wiederhergestellt).

    Hinweis

    Beim Git-basierten Zurücksetzen wird das Repository auf den Zustand zurückgesetzt, den es unmittelbar bevor Copilot mit der Arbeit am Prompt begonnen hat, hatte, nicht auf den Zustand unmittelbar nachdem die Arbeit am Prompt abgeschlossen war.

    Die von Ihnen ausgewählte Eingabeaufforderung wird im Eingabebereich angezeigt, sodass Sie sie ggf. bearbeiten und erneut übermitteln können.

Rollback mit dem /undo Schrägstrich-Befehl

Der /undo Schrägstrichbefehl und sein Alias /rewindbieten eine alternative Möglichkeit zum Öffnen der Zurückspulenauswahl.

Beide Befehle erzeugen dasselbe Ergebnis, das Sie erhalten, indem Sie ESC zweimal drücken, wenn Copilot sich im Leerlauf befindet und kein Text im Eingabebereich vorhanden ist.

Überprüfen des Rollbacks

Nach dem Zurücksetzen können Sie Git-Befehle verwenden, um den Status Ihres Repositorys zu überprüfen und zu bestätigen, dass es Ihren Erwartungen entspricht.

Durch Eingabe von ! können Sie Shell-Befehle direkt in der Copilot CLI Eingabeaufforderung ausführen, sodass Sie die CLI nicht verlassen müssen, um den Repository-Status zu überprüfen.

VorgehensweiseGeben Sie diesen Befehl ein.
Überprüfen Sie, welche Dateien als geändert, mehrstufige oder nicht nachverfolgte Dateien angezeigt werden.! git status
Zeigen Sie die SHA- und Commit-Nachricht des aktuellen Commits an.! git log --oneline -1
Überprüfen von ungestageten Änderungen.! git diff

Weiterführende Lektüre