git restore-Befehl

Git-Grundoperationen


git restore Der Befehl wird verwendet, um Änderungen an Dateien wiederherzustellen oder rückgängig zu machen.

git restoreDer Befehl wurde in Git Version 2.23 eingeführt, um Operationen zur Dateiwiederherstellung zu vereinfachen und zu verbessern. Im Vergleich zu älteren Befehlen (wiegit checkoutundgit reset), konzentriert er sich stärker auf die Wiederherstellung von Dateiinhalten und des Zustands des Arbeitsbaums.

git restoreEr kann Dateien im Arbeitsbaum und im Staging-Bereich wiederherstellen und kann auch verwendet werden, um nicht committete Änderungen zu verwerfen.

Grundlegende Syntax

git restore [<options>] [<pathspec>...]
  • <pathspec>: Der Pfad der wiederherzustellenden Datei oder des Verzeichnisses.
  • <options>: Optionen zum Anpassen des Wiederherstellungsverhaltens.

Gängige Optionen und Verwendung

OptionenBeschreibungVerwendungsbeispiel
--source=<commit>Dateiinhalte aus einem angegebenen Commit wiederherstellen. Standardmäßig HEAD, d. h. der aktuelle Commit.git restore --source=HEAD~1 file.txt
--stagedDateiinhalte aus dem Staging-Bereich in den Arbeitsbaum wiederherstellen, anstatt die Inhalte im Arbeitsbaum wiederherzustellen.git restore --staged file.txt
--worktreeDie Dateiinhalte im Arbeitsbaum auf den aktuellen Zustand des Arbeitsbaums wiederherstellen.git restore --worktree file.txt
--oursBei einem Merge-Konflikt auf die Version des aktuellen Branches (d. h. die "ours"-Version) wiederherstellen.git restore --ours file.txt
--theirsBei einem Merge-Konflikt auf die Version des anderen Branches (d. h. die "theirs"-Version) wiederherstellen.git restore --theirs file.txt
--conflict=<style>Gibt den Stil von Merge-Konflikten an, z. B.mergeoderdiff3。git restore --conflict=diff3 file.txt
--dry-runZeigt die Dateien und Pfade an, die wiederhergestellt würden, ohne die Wiederherstellung tatsächlich durchzuführen.git restore --dry-run
-s, --sourceund--sourceDasselbe, wird verwendet, um Dateien aus einem angegebenen Commit wiederherzustellen.git restore -s HEAD~1 file.txt
-W, --worktreeStellt die Dateiinhalte im Arbeitsverzeichnis auf den aktuellen Zustand des Arbeitsverzeichnisses wieder her (mit--worktreederselbe).git restore -W file.txt
-S, --stagedStellt Dateiinhalte aus dem Staging-Bereich in das Arbeitsverzeichnis wieder her, anstatt die Inhalte im Arbeitsverzeichnis wiederherzustellen (mit--stagedderselbe).git restore -S file.txt

Beispiel

Dateien im Arbeitsverzeichnis wiederherstellen

Stellt Dateien im Arbeitsverzeichnis auf den Zustand des jüngsten Commits wieder her (d. h. alle nicht committeten Änderungen an den Dateien verwerfen):

git restore file.txt

Dateien im Staging-Bereich wiederherstellen

Stellt die Dateien aus dem Staging-Bereich in das Arbeitsverzeichnis wieder her, was effektiv die Dateien aus dem Staging-Bereich entfernt (ohne Commit):

git restore --staged file.txt

Dateien aus einem angegebenen Commit wiederherstellen

Dateien aus einem bestimmten Commit wiederherstellen (z. B. HEAD~1):

git restore --source=HEAD~1 file.txt

Die "ours"-Version einer Datei wiederherstellen

Im Falle eines Merge-Konflikts auf die Version des aktuellen Branches wiederherstellen (d. h. die "ours"-Version):

git restore --ours file.txt

Die "theirs"-Version einer Datei wiederherstellen

Im Falle eines Merge-Konflikts stellen Sie die Version des anderen Branches wieder her (d. h. die "theirs"-Version):

git restore --theirs file.txt

Die wiederherzustellenden Dateien und Pfade anzeigen

Die Dateien und Pfade anzeigen, die wiederhergestellt würden, ohne die Wiederherstellung tatsächlich durchzuführen:

git restore --dry-run

Mehrere Dateien wiederherstellen

Mehrere Dateien im Arbeitsverzeichnis wiederherstellen:

git restore file1.txt file2.txt


Git-Grundoperationen

Weitere Erweiterungen