633 Stimmen

Eine gelöschte Datei in Git wiederherstellen

Um Änderungen an einer Datei zu verwerfen, gehen Sie normalerweise wie folgt vor:

git checkout -- <file>

Was ist, wenn die Änderung, die ich verwerfen möchte, das Löschen der Datei zur Folge hat? Die obige Zeile würde einen Fehler auslösen:

error: pathspec '<file>' did not match any file(s) known to git.

Mit welchem Befehl lässt sich diese einzelne Datei wiederherstellen, ohne andere Änderungen rückgängig zu machen?

Bonuspunkt: Was ist, wenn die Änderung, die ich verwerfen möchte, Hinzufügen von eine Datei? Ich würde gerne wissen, wie man diese Änderung auch wieder rückgängig machen kann.

1voto

Ich habe die oben genannten Lösungen ausprobiert, aber ich hatte immer noch Schwierigkeiten. Ich hatte andere Dateien mit zwei Dateien, die versehentlich gelöscht wurden, bereitgestellt.

Um die beiden gelöschten Dateien rückgängig zu machen, musste ich alle Dateien wiederherstellen:

git reset HEAD .

Dann konnte ich die gelöschten Artikel zur Kasse bringen:

git checkout -- WorkingFolder/FileName.ext

Schließlich konnte ich den Rest der Dateien wiederherstellen und mit meiner Übertragung fortfahren.

0voto

KyoungWan Punkte 1

Von der Handbuchseite,

git-reset - Reset current HEAD to the specified state
git reset [-q] [<tree-ish>] [--] <paths>...
In the first and second form, copy entries from <tree-ish> to the index.

zum Beispiel, wenn wir git reset HEAD~1 es setzt unseren aktuellen HEAD auf HEAD~1 zurück

Wenn wir also git reset 'some-deleted-file-path'

git nimmt 'some-deleted-file-path' als einen Commit-Punkt an und versucht, den aktuellen HEAD dorthin zurückzusetzen.

Und am Ende scheitert es

fatal: ambiguous argument 'some-deleted-file-path': unknown revision or path not in the working tree.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X