Wie zu beheben eine schlechte git-tree-Objekt
Habe ich eine lokale Kopie eines repositories, die nicht mehr remote verbunden.
Ich bin versucht, diese repo in eine neue remote aber jedes mal bekomme ich diese Meldung:
error: Could not read 9eefe9305253b2c039a54cbc8aa22f7f8e6e8790
fatal: bad tree object 9eefe9305253b2c039a54cbc8aa22f7f8e6e8790
Lese ich ähnliche Fragen hier, dass ein Weg, um es zu beheben ist das abrufen dieses Objekt von anderen Kopien der repository oder mache einen hard-reset. Ich kann nichts von beiden da ich nicht über eine weitere Kopie von diesem repo.
Ist es ein Weg, um einfach entfernen Sie diese Begehen oder eine andere Art von Lösung, die mir erlauben wird, drücken Sie die repo-die neue remote-halten-Geschichte?
Sie brauchen nicht eine remote-oder "eine andere Kopie von diesem repo" zu tun, ein
Danke, wusste nicht, dass. Ich habe es einfach gemacht aber das problem besteht immer noch, das Begehen, das gibt Probleme, es ist eine sehr alte.
zwei Wege: ein - Blick in die Datei direkt entpacken Sie den Inhalt) und sehen, ob Sie es beheben kann. zwei - finden Sie den commit, der auf den Baum in Frage und machen Sie einen hard-reset, um das parent-Commits. Je nach dem commit ist es, die Referenzen, die über die Struktur, die Sie möglicherweise verlieren eine Menge von Daten.
wenn der commit ist so alt, verlieren Sie alle die Geschichte, die danach kommt commit (es wird immer noch im repository, aber schwer zugänglich). Also: brauchst du die neueren verpflichtet?
Ich möchte nicht zu verlieren, neuere Geschichte verpflichtet. Das problem scheint zu sein, dass die betreffende Datei fehlt, ich meine, ich suchte nach 9eefe9305253b2c039a54cbc8aa22f7f8e6e8790 in der git-Ordner und es ist einfach nicht da.
git reset --hard
.Danke, wusste nicht, dass. Ich habe es einfach gemacht aber das problem besteht immer noch, das Begehen, das gibt Probleme, es ist eine sehr alte.
zwei Wege: ein - Blick in die Datei direkt entpacken Sie den Inhalt) und sehen, ob Sie es beheben kann. zwei - finden Sie den commit, der auf den Baum in Frage und machen Sie einen hard-reset, um das parent-Commits. Je nach dem commit ist es, die Referenzen, die über die Struktur, die Sie möglicherweise verlieren eine Menge von Daten.
wenn der commit ist so alt, verlieren Sie alle die Geschichte, die danach kommt commit (es wird immer noch im repository, aber schwer zugänglich). Also: brauchst du die neueren verpflichtet?
Ich möchte nicht zu verlieren, neuere Geschichte verpflichtet. Das problem scheint zu sein, dass die betreffende Datei fehlt, ich meine, ich suchte nach 9eefe9305253b2c039a54cbc8aa22f7f8e6e8790 in der git-Ordner und es ist einfach nicht da.
InformationsquelleAutor Flupkear | 2012-01-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
Tatsächlich das problem lösen und nicht irgendwelche Daten zu verlieren (vorausgesetzt, der Baum ist der einzige noch fehlende Objekt, was ich bezweifle), könnten Sie versuchen, diese:
Gut, Sie konnte man in die commit manuell... aber Sie werden wahrscheinlich haben, um ein Skript zu schreiben, wird das für Sie tun. Kasse diese Seite bietet einen überblick darüber, wie das format der Datei sieht wie folgt aus: book.git-scm.com/1_the_git_object_model.html
Wie kann Sie manuell erstellen Sie Ihren Baum?
Gut, das format von einem Baum-Objekt ist ziemlich straight-forward, so dass, wenn Sie wissen, was Sie tun, können Sie eine Datei erstellen, die mit den richtigen bytes in (Sie müssen alle Unterschriften der Einträge natürlich, das zu tun). Ich sage nicht, dass es eine gute (oder gar machbar) - Lösung, aber es ist eine Möglichkeit, zu prüfen, ob die Daten wertvoll.
InformationsquelleAutor Max Leske
Beenden gerade die applcation, mit denen Sie den Zugriff auf git und neu starten . Arbeitete für mich für xcode-iOS.
InformationsquelleAutor Ankish Jain
Hatte ich dieses problem. Neustart mein computer tatsächlich repariert, also bitte versuchen Sie es zuerst, bevor Sie irgendetwas anderes tun. Oder vielleicht habe ich einfach nur Glück, aber einen Versuch Wert!
InformationsquelleAutor axsuul
Habe ich mein git repo in einem Verzeichnis liegen, das auch in der OneDrive-Ordner auf meinem computer. Wenn Sie OneDrive auf einem anderen Rechner, push aus dem repo auf diesen computer, und dann ziehen/schieben von der eigenen Maschine wieder.
InformationsquelleAutor userFog