Wenn ein Problem beim Verschieben eines vorhandenen Repos an einen anderen Ursprung auftritt, an dem ein Baum beansprucht wird, sind doppelte Dateieinträge vorhanden.Fehler in der Struktur: enthält doppelte Dateieinträge
git fsck --full Checking object directories: 100% (256/256), done. error in tree 4ef325894daeb3a7eeaba4cb7b40b43844f2974c: duplicateEntries: contains duplicate file entries Checking objects: 100% (25808/25808), done.
Wenn ich laufen git show 4ef325894daeb3a7eeaba4cb7b40b43844f2974c
auf dem Hash für den Baum es zwei Verzeichnisse ist zeigt.
Controllers/
Controllers/
Ich habe versucht, einen neuen Baum zu machen, die gebrochen zu ersetzen, aber das Problem weiterhin besteht nach wie vor, könnte es sein, dass ich es auf dem falschen Baum mache, aber ich bin nicht sicher, wie es zwei Bäume .
git ls-tree 4ef325894daeb3a7eeaba4cb7b40b43844f2974c 040000 tree fc9af05207cd34539b6b0fe81ce7a3f1370d4750 Controllers 040000 tree fc9af05207cd34539b6b0fe81ce7a3f1370d4750 Controllers
Ja, Baumobjekt '4ef325894daeb3a7eeaba4cb7b40b43844f2974c' ist definitiv defekt. Was ist aber die * Frage? Git überprüft vermutlich die Entität OK ... – torek
Die Frage ist, wie kann ich es beheben? und drücken Sie den Code mit dem Verlauf zu einem neuen Repo. – Ican
Sie müssen mindestens einige der Commits des Repositorys in neue Commits kopieren, wobei das fehlerhafte Tree-Objekt (mit doppelten Einträgen) in ein neues Tree-Objekt (kein Duplicate-Eintrag) kopiert wird. Der neue Baum wird eine andere ID haben, die sich auf die Commits, die ihn enthalten, auswirkt, was dazu führt, dass diese Commits neue IDs haben, die durch den Rest des Verlaufs blubbern. Da ich das fehlerhafte Repository nicht habe, kann ich das nicht testen *, aber es scheint wahrscheinlich, dass ein 'git filter-branch' über das gesamte Repository funktionieren sollte. – torek