git restore-Befehl
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
| Optionen | Beschreibung | Verwendungsbeispiel |
|---|---|---|
--source=<commit> | Dateiinhalte aus einem angegebenen Commit wiederherstellen. Standardmäßig HEAD, d. h. der aktuelle Commit. | git restore --source=HEAD~1 file.txt |
--staged | Dateiinhalte aus dem Staging-Bereich in den Arbeitsbaum wiederherstellen, anstatt die Inhalte im Arbeitsbaum wiederherzustellen. | git restore --staged file.txt |
--worktree | Die Dateiinhalte im Arbeitsbaum auf den aktuellen Zustand des Arbeitsbaums wiederherstellen. | git restore --worktree file.txt |
--ours | Bei einem Merge-Konflikt auf die Version des aktuellen Branches (d. h. die "ours"-Version) wiederherstellen. | git restore --ours file.txt |
--theirs | Bei 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-run | Zeigt die Dateien und Pfade an, die wiederhergestellt würden, ohne die Wiederherstellung tatsächlich durchzuführen. | git restore --dry-run |
-s, --source | und--sourceDasselbe, wird verwendet, um Dateien aus einem angegebenen Commit wiederherzustellen. | git restore -s HEAD~1 file.txt |
-W, --worktree | Stellt die Dateiinhalte im Arbeitsverzeichnis auf den aktuellen Zustand des Arbeitsverzeichnisses wieder her (mit--worktreederselbe). | git restore -W file.txt |
-S, --staged | Stellt 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
Weitere Erweiterungen