By Wolfgang Keller
Originally published 2020-03-08
Last modified 2023-10-10
Angenommen, man setzt ein neues Git-Repository in einem Ordner auf:
> git init
> git add .
Nun merkt man, dass letzterer Befehl zu viele Dateien hinzugefügt hat. Der korrekte Weg, diesen Fehler zu korrigieren, ist natürlich
> git reset
Versehentlich führt man jedoch nicht diesen Befehl aus, sondern macht ein „hard reset“:
> git reset --hard
Das Ergebnis is verheerend: Alle Dateien in dem Ordner wurden gelöscht! Weise ist der Mensch, der ein Backup erstellt hat, bevor er seine Daten einem gefährlichen Programm wie Git anvertraut.
Was tun? Es gibt eine Rettung aus der Not:
> git fsck --lost-found
Anschließend findet man die von Git gelöschten Dateien im Ordner .git/lost-found/other, allerdings nicht unter den originalen Dateinamen - möge die daraus resultierende Arbeit eine Buße für jenen Sünder sein, der in seinem Größenwahn die Dämonen für ein hartes statt „reguläres“ Reset des Repositories sich zwang.