Corrupted git tree?

8

Ich habe große Probleme mit einem Git-Repository auf meinem lokalen Rechner.

Ich habe eine Datei geändert, git status ausgeführt und die Datei wurde als geändert angezeigt. Ich habe die Datei mit git add . hinzugefügt und es funktionierte wie immer. Aber als ich die Änderungen bestätigen wollte, bekam ich folgenden Fehler:

%Vor%

Durch Ausführen von git cat-file -t e91ce852822d32e380ed7ddd04c93066e3c600ea kann ich sehen, dass das Objekt ein Baum ist.

Ich habe mehrere Lösungen zur Reparatur eines fehlerhaften Blobs oder Commits gesehen, aber dies ist ein Baum, und ich kann keine Antwort darauf finden, was schief gelaufen sein könnte oder wie ich es beheben könnte.

Jede Hilfe wird geschätzt:)

    
Olof Johansson 18.11.2010, 10:04
quelle

3 Antworten

3

Wenn Ihr git-Repo mit einer externen Ressource (Github) synchronisiert ist und wenn eine Lösung nicht funktioniert , können Sie Ihren Repo erneut starten

was ich getan habe:

%Vor%

Es hat funktioniert. Offensichtlich ist es keine großartige Lösung, aber es kann helfen

    
Utopik 30.04.2013 16:18
quelle
2

Was schief gehen könnte, ist schwer zu sagen und hängt von Ihrer Git-Version und Umgebung ab.
Zum Beispiel gab es in den alten Tagen ein zlib-Problem mit git1.5.1 , das ausgelöst wurde Diese Art von Nachricht aufgrund einer legacyheaders = false -Einstellungen.

Wie zum Wiederherstellen eines Baumes aus losen Objekten , diese SO Antwort " Wie man Git-Objekte wiederherstellt, die durch Festplattenfehler beschädigt wurden? "zeigt eine Möglichkeit, dies zu tun, nachdem ein git fsck --full (als Mark Ruschakoff erwähnt in dem Kommentar) wurde durchgeführt.

%Vor%
  

und überprüfen Sie den Typ des Objekts.

     

Wenn es sich bei dem Typ um eine Baumstruktur handelt, können Sie 'git ls-tree' verwenden, um die Baumstruktur aus früheren Sicherungen wiederherzustellen. dann ' git mktree ', um es erneut in Ihr aktuelles Repository zu schreiben.

Aber nehmen wir an, diese Objekte entweder in älteren Paketen oder in Repository-Backups zu finden.

    
VonC 19.11.2010 07:21
quelle
-2

Guten Morgen, für meinen Teil, ich habe gerade das Git-Verzeichnis gelöscht und Git neu initiieren.

    
Osin Toumani 31.05.2011 08:34
quelle

Tags und Links