Skip to main content
Skip to content

Abbrechen von Vorgängen und Rückgängigmachen von Änderungen in GitHub Copilot CLI

Beenden Sie einen aktiven Copilot CLI Vorgang, oder setzen Sie eine Sitzung zurück, um Änderungen im Unterhaltungsverlauf rückgängig zu machen und optional Dateien wiederherzustellen.

Einführung

Wenn Sie in einer interaktiven Copilot CLI Sitzung arbeiten, können Sie die Arbeit beenden, die gerade ausgeführt wird, oder die bereits abgeschlossene Arbeit rückgängig machen:

  • Einen Vorgang abbrechen mithilfe von Esc oder Strg+C. Diese Schlüssel verhalten sich je nachdem, ob Copilot funktioniert, Aufforderungen in die Warteschlange gestellt werden oder ein Dialogfeld geöffnet ist.
  • Machen Sie abgeschlossene Arbeit rückgängig, indem Sie Esc zweimal drücken, wenn Copilot inaktiv ist, oder mithilfe des /undo Schrägstrichbefehls oder seines /rewind Alias.

Wenn Sie ein Rollback ausführen, können Sie auswählen, ob nur die Unterhaltung zurückspulen oder auch Dateien wiederhergestellt werden sollen, die Copilot geändert wurden.

Rewind funktioniert in jedem Verzeichnis, einschließlich Ordnern, die keine Git-Repositorys sind. Es stellt nur die Dateien wieder her, die Copilot geändert wurden.

Abbrechen eines Vorgangs

Verwenden Sie Esc, wenn Sie eine schrittweise, gezielte Steuerung wünschen. Während Copilot arbeitet, zeigt der erste Tastendruck eine Erinnerung an, und ein zweiter Tastendruck unterbricht den Vorgang. Ein einzelnes Drücken schließt auch ein geöffnetes Dialogfeld oder verweigert eine ausstehende Berechtigungsanfrage.

Verwenden Sie STRG+C, wenn Sie abbrechen möchten, ohne das zweite Drücken zur Bestätigung, das Esc erfordert. Ein einzelnes STRG+C bricht den aktiven Vorgang sofort ab und löscht alle Eingabeaufforderungen in der Warteschlange. Alle Dateischreibvorgänge, die bereits in Bearbeitung sind, werden abgeschlossen – Dateien bleiben während des Schreibprozesses unbeschädigt –, aber alle weiteren geplanten Änderungen werden aufgegeben. Wenn strg+C ein zweites Mal innerhalb von zwei Sekunden gedrückt wird, wird die Sitzung vollständig beendet, wenn der Eingabebereich leer ist.

Was das Drücken von ESC in verschiedenen Situationen tut

Die Auswirkung des Drückens von ESC hängt vom aktuellen Zustand der Sitzung ab.

Aktueller StatusWas das Drücken von ESC bewirkt
Copilot ist ohne Eingabeaufforderungen in der Warteschlange aktiv.Zeigt eine Erinnerung „Zum Abbrechen Esc erneut drücken“ an. Drücken Sie esc erneut innerhalb einer halben Sekunde, um den Vorgang abzubrechen.
Copilot ist aktiv, und Prompts sind in der Warteschlange.Zeigt die Erinnerung an die Stornierung an. Durch erneutes Drücken von ESC wird der aktuelle Vorgang unterbrochen. In einer lokalen Sitzung werden in die Warteschlange eingereihte Prompts als nächster Turn verarbeitet. In einer remote-gestützten oder angehängten Sitzung wird der Vorgang vollständig abgebrochen, und die Prompts in der Warteschlange werden nicht als Nachverfolgungsrunde ausgeführt.
Ein Berechtigungsdialogfeld ist geöffnet.Verweigert die ausstehende Anfrage, ohne dass ein zweites Drücken erforderlich ist.
Ein Dialogfeld, ein Overlay oder eine Auswahl ist geöffnet.Schließt das Dialogfeld, die Überlagerung oder den Auswahldialog.
Copilot ist im Leerlauf.Zeigt eine Erinnerung an, dass das erneute Drücken von ESC schnell die Rückspulenauswahl öffnet.

Wenn Sie ESC zweimal drücken, wird die Rückspulenauswahl nur geöffnet, wenn Copilot inaktiv ist und der Eingabebereich leer ist. In anderen Situationen führt ein doppeltes ESC die erste zutreffende Aktion in dieser Reihenfolge aus:

  1. Bricht einen ausgeführten Shellbefehl ab.
  2. Stoppt die aktuelle Antwort.
  3. Beendet Hintergrund-Agents.
  4. Löscht Text im Eingabebereich.

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.
  • Wenn Sie Dateien wiederherstellen möchten, stellt Copilot nur die Dateien wieder her, die es geändert hat, und überspringt alle Dateien, deren aktueller Inhalt nicht mehr mit dem Inhalt übereinstimmt, den es zuletzt geschrieben hat, sodass Ihre eigenen späteren Bearbeitungen nicht überschrieben werden.

Voraussetzungen

  • Ein Zurückspulenpunkt muss vorhanden sein. Sie können vor der ersten Eingabeaufforderung in einer Sitzung kein Rollback ausführen.
  • Die Dateiwiederherstellung ist nur für Sitzungen verfügbar, in denen Dateiänderungen nachverfolgt wurden. Wenn Sie eine Sitzung fortsetzen, die gestartet wurde, bevor die Nachverfolgung von Dateiänderungen aktiviert wurde, wird nur das Zurückspulen der Konversation angeboten. Starten Sie eine neue Sitzung, um Dateiänderungen wiederherstellen zu können.
  • Rewind ist für remotegestützte Sitzungen nicht verfügbar oder solange die Sitzung noch nicht abgeschlossene Arbeiten enthält.

Wenn Copilot mit der Beantwortung einer Eingabeaufforderung fertig ist:

  1. Stellen Sie sicher, dass der Eingabebereich leer ist und kein Vorgang läuft. Wenn im Eingabebereich Text vorhanden ist, löscht das Drücken von Esc zweimal hintereinander den Text, anstatt den Picker zu öffnen.

  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 mehr als zehn vorhanden sind, verwenden Sie die Pfeiltasten ↑ und ↓, um durch sie zu scrollen. Für jeden Rückspulenpunkt wird der Anfang des eingegebenen Prompts zusammen mit der Angabe angezeigt, wie lange Ihre Eingabe zurückliegt. Bei Turns, in denen Dateien geändert wurden, wird auch die Anzahl der Zeilen angezeigt, die durch diesen Turn hinzugefügt und entfernt wurden.

  3. Wählen Sie einen Rücksetzpunkt aus, und drücken Sie die Eingabetaste.

    Wenn Sie einen Rücklaufpunkt auswählen, wird ein Aktionsmenü geöffnet, in dem Sie Konversation oder Konversation + Dateien auswählen können. Letzteres ist für einen Rückspulenpunkt nicht verfügbar, wenn weder dieser Schritt noch ein späterer Schritt Dateien geändert hat, die wiederhergestellt werden können. Vor dem Wiederherstellen zeigt Copilot eine Vorschau der Änderungen pro Datei an, damit Sie dies bestätigen können.

    Hinweis

    Das Zurücksetzen wird relativ zum Zustand angewendet, unmittelbar bevorCopilot mit der Bearbeitung des Prompts begonnen wurde, nicht unmittelbar nachdem die Bearbeitung des Prompts abgeschlossen wurde.

    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.

Was geschieht, wenn Sie ein Rollback ausführen

Wenn Sie die Unterhaltung zurückspulen und Dateien wiederherstellen möchten:

  1. Copilot stellt die Dateien wieder her, die durch die ausgewählte Eingabeaufforderung geändert wurden, in den Zustand davor. Es überspringt Dateien, die Sie danach bearbeitet haben.
  2. Die Unterhaltung wird an den ausgewählten Punkt umgewoffen. Nachrichten und Toolaufrufe nach diesem Punkt werden entfernt.
  3. Erfasste Dateiänderungen für die verworfenen Durchläufe werden entfernt. Frühere Rückspulenpunkte bleiben verfügbar.
  4. Copilot meldet, wie viele Dateien wiederhergestellt wurden, und identifiziert etwaige übersprungene Dateien.
  5. Der ausgewählte Prompt wird im Eingabebereich platziert, sodass Sie ihn bearbeiten und erneut übermitteln können.

Wenn Sie nur die Unterhaltung zurückspulen möchten, bleiben Ihre Dateien unverändert. Der spätere Teil des Sitzungsverlaufs wird entfernt, und der ausgewählte Prompt wird im Eingabebereich wiederhergestellt.

Änderungen, die nicht wiederhergestellt werden können

Die Dateiwiederherstellung wird in diesen Situationen übersprungen oder ist nicht verfügbar:

  • Dateien mit mehr als 10 MB: Änderungen an einzelnen Dateien, die größer als 10 MB sind, werden nicht erfasst.
  • Mehr als 500 geänderte Dateien: Wenn ein einzelner Durchgang mehr als 500 Dateien ändert, werden Dateiänderungen für diesen Durchgang nicht erfasst. Andere Kurven sind nicht betroffen.
  • Dateien, die Sie selbst geändert haben: Wenn der aktuelle Inhalt einer Datei nicht mehr dem Inhalt entspricht, den Copilot zuletzt geschrieben hat, bleibt die Datei unverändert.
  • Sitzungen ohne Dateinachverfolgung: Wenn eine Sitzung gestartet wurde, bevor die Nachverfolgung von Dateiänderungen aktiviert wurde, ist nur das Zurückspulen von Unterhaltungen verfügbar.
  • Remotegestützte oder ausgelastete Sitzungen: Rückspulen ist für remotegestützte Sitzungen nicht verfügbar oder solange die Arbeit noch ausgeführt wird.

Ü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