git · Git
Die Meldung
fatal: bad object 8a3f21c
Was es bedeutet
Der angegebene Name löst zu nichts auf, was git lesen kann: entweder liegt das Objekt nicht in diesem Repository, oder es liegt dort und ist beschädigt. Das passiert bei einem Hash aus einem anderen Klon oder einem Shallow Clone, bei einem zu kurz abgeschnittenen Hash oder bei einem nach einem Plattenproblem wirklich zerstörten Objekt. git fsck --full meldet fehlende und kaputte Objekte rein lesend, und ein fremder Hash braucht erst ein git fetch, damit das Objekt hier existiert. Meldet fsck tatsächlich Korruption, ist ein neuer Klon schneller und sicherer als eine Reparatur — kopieren Sie nur zuvor Ihre nicht committeten Dateien an einen sicheren Ort.
Die Lösung
git fsck --full- Ausgegeben von
- git
- Git
- 29
Fast jeder git-Fehler ist eine Verweigerung im Sinne von „das aus diesem Zustand zu tun würde etwas verlieren“; fatal: heißt, git hat ohne jede Änderung abgebrochen, und die hint:-Zeilen unter der ersten enthalten meist die eigentliche Lösung.
Eine Fehlermeldung lesen
- Von der ersten Zeile abwärts lesen. Weiter unten geht es um das Innere des Werkzeugs; die Ursache steht meist oben.
- Gibt es Datei und Zeilennummer, dort anfangen — nicht der oberste Stack-Frame, sondern die oberste Zeile, die eine eigene Datei nennt.
- Die Meldung wörtlich suchen, vorher aber eigene Pfade und Variablennamen entfernen; genau die verhindern den Treffer.
- Dieselbe Lage wird je Werkzeugversion anders formuliert. Passen die Treffer nicht, die Versionsnummer mit in die Suche.
- Vor dem Einfügen einer Lösung prüfen, was sie verwirft. Manches davon lässt sich nicht zurückholen.
Häufige Fragen
Q. Was bedeutet „fatal: bad object 8a3f21c“?
Der angegebene Name löst zu nichts auf, was git lesen kann: entweder liegt das Objekt nicht in diesem Repository, oder es liegt dort und ist beschädigt. Das passiert bei einem Hash aus einem anderen Klon oder einem Shallow Clone, bei einem zu kurz abgeschnittenen Hash oder bei einem nach einem Plattenproblem wirklich zerstörten Objekt. git fsck --full meldet fehlende und kaputte Objekte rein lesend, und ein fremder Hash braucht erst ein git fetch, damit das Objekt hier existiert. Meldet fsck tatsächlich Korruption, ist ein neuer Klon schneller und sicherer als eine Reparatur — kopieren Sie nur zuvor Ihre nicht committeten Dateien an einen sicheren Ort.
Q. Wie behebe ich das?
git fsck --full — vor dem Ausführen oben prüfen, was dieser Befehl verwirft.
Q. Welches Werkzeug gibt das aus?
git. Es gehört zu Git, und die Meldung hat 4 Wörter.