2013-08-29 7 views
7

Jemand hat einen Commit auf dem falschen Zweig gemacht, also habe ich versucht, move the commit to another branch. Als ich versuchte, die sich verpflichten, ein Rollback, bekam ich diesen Fehler:Git reset = fatal: Tree kann nicht gelesen werden

[[email protected] gitrepo]$ git reset --hard 9c2de3c0 
fatal: unable to read tree 9c2de3c0af09fc07a84ff84b594beb5a6d489181 

Das Objekt sieht gut aus:

[[email protected] gitrepo]$ ls objects/9c/2de3c* -al 
-r--r--r-- 1 git git 222 Aug 28 12:09 objects/9c/2de3c0af09fc07a84ff84b594beb5a6d489181 

Warum kann es dieses Objekt nicht lesen, und was soll ich tun das?

Edit: mein Problem von anderen zu unterscheiden:

  • Git Datenbank nicht erscheint besonders aus der Art zu sein. Running git fsck -full zeigt nur ein paar (~ 20) dangling Blobs und ein Dangling Commit. Welche does not seem particularly alarming.
+0

@Gabriele: Ich schaute auf diesen Beitrag, aber diese Frage, und es ist Antwort, beziehen sich auf eine "defekte Verbindung von commit". Ich habe keinen solchen Fehler, wenn ich 'git fsck' starte. – doub1ejack

+0

1) Was zeigt 'git cat-file -t 9c2de3c0'? 2) Was zeigt 'git cat-file -p 9c2de3c0'? (Ich vermute, dass mindestens einer auch fehlschlägt, aber es lohnt sich, einen kurzen Abstecher zu machen) – torek

+0

@torek - 1) 'git cat-Datei -t 9c2de3c0' = 'commit' 2)' git cat-file -p 9c2de3c0' = meine Nachricht, 'MODUL: hinzugefügt similaterms (MM)' – doub1ejack

Antwort

3

Ich habe das gleiche Problem. Habe es gelöst, indem ich die Festplatte überprüft und repariert habe. Einige Dateien waren beschädigt.

Verwandte Themen