GIT: Gelöschte Dateien finden und wiederherstellen

So kann man mit GIT nach gelöschten Dateien suchen und diese wiederherstellen.

Im ersten Schritt muss man dazu im GIT-Log nach der Datei suchen, dass geht ziemlich einfach mit dem folgenden Befehl:

git log -- deleted_file.php

Wenn man dieses Kommando ausführt und die gesuchte Datei gefunden wird, dann erhält man eine Übersicht, wann die Datei gelöscht oder verändert wurde. In der Ausgabe findet man auch die entsprechende ID.

Diese kann man nun wiederum nutzen um die Datei per git checkout wiederherzustellen. Das geht mit folgendem Befehl:

git checkout a8e5830b2cec2b418a4fc55a2124042545f4b3a2^ deleted_file.php

Danach sollte die Datei mit dem Stand des Commits wieder verfügbar sein.


0 0 0


Diskussion

avatar placeholder
2. Aug. 2013 von Torsten Fleischer

Hallo Tobias,

das gilt vermutlich aber nicht für gelöschte Emails, oder? Simone hatte vor 2 Tagen auf Ihrem PowerBook (IMAP) einige Mails gelöscht, die dann auf dem großen Mac auch weg waren. Oder gibt es da auch einen Trick?

Grüße, Torsten

avatar placeholder
2. Aug. 2013 von Tobias Redmann

Hallo Torsten,

nein das gilt leider nur für ein bestimmtes Code-Verwaltungs- bzw. Versionierungssystem.

Zum Thema Mails gibt es zwei Möglichkeiten:

1.) Wenn Du Mails mit Outlook oder Mac Mail löschst, sind Sie zum Teil noch im Papierkorb der jeweiligen Programme. Mit etwas Glück kannst Du sie wiederherstellen.

2.) Solltest Du die Mails noch auf einem mobilen Gerät (Handy, Laptop) haben, kannst Du dort schnell die Internetverbindung trennen und die Mails nochmal an Dich selber weiterleiten. Sobald Sie im Posteingang sind, musst Du die Internetverbindung wiederherstellen.

Ich empfehle grundsätzlich nie Mails zu löschen, außer offensichtlichen Spam oder Newsletter die man nicht mehr benötigt. Heutzutage kostet Speicherplatz nichts mehr. Dadurch kann man Mails von vielen Jahren problemlos vorhalten.

Viele Grüße,
Tobias

avatar placeholder
30. Sep. 2014 von Wolfgang Borkner

Das ist wahrer Charakter: Auf eine leicht abwegige Frage nicht mit Beleidigungen zu reagieren sondern mit Lösungen !

Bravo

avatar placeholder
19. Nov. 2015 von Florian Lagg

Dankeschön.

Meine Lösung bisher: checkout der alten Version, kopieren der Datei, checkout head, einfügen der Datei :)

Da ist das hier doch dezent sauberer.

Mitdiskutieren

*