Ein potentiell lebensrettender Git-Tipp

By Wolfgang Keller
Originally written 2020-03-08
Last modified 2020-03-08

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.