Gelöschte Datei nach dem Commit aus Git wiederherstellen

Gelöschte Datei nach dem Commit aus Git wiederherstellen

Ich habe eine Datei in mein lokales Git übertragen und sie dann zu GitHub hochgeladen.

Ich habe die folgenden Befehle ausgeführt, um diese Datei zu entfernen und sie dann auf GitHub zu übertragen:

git rm file.txt
git commit -m remove file.txt
git push -u github master

Dann wurde mir klar, dass ich die Datei zurückhaben wollte. Ich habe die hier beschriebenen Anweisungen ausprobiert: https://www.quora.com/Wie-kann-ich-eine-Datei-wiederherstellen-die-ich-in-meinem-lokalen-Repository-gelöscht-habe-aus-dem-Remote-Repository-in-Git

Ich habe den folgenden Befehl ausgeführt:

git rev-list -n 1 HEAD -- file.txt

Dadurch erhielt ich einen Hash für die Version, die meine Datei enthielt: HASH. Den habe ich dann im folgenden Befehl verwendet:

git checkout HASH^ file.txt

Das gab mir dann den folgenden Fehler:

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

Glücklicherweise konnte ich zu GitHub gehen und alle meine Dateien von dort wiederherstellen, aber ich weiß immer noch nicht, wie ich das lokal machen kann oder ob es überhaupt möglich ist.

Antwort1

Verwenden Sie git reflog, um den Commit-Hash für den Punkt abzurufen, an dem sich Ihre Datei befand. Verwenden Sie dann , git checkout <hash>um zu diesem Commit-Hash zurückzukehren.

Alternativ können Sie git checkout HEAD{1}mit ein Commit zurückgehen.

verwandte Informationen