Tengo un objeto git que está dañado. El tamaño del archivo es 0 en el directorio de objetos git.Cómo recuperarse de un archivo perdido corrupto en git
Primero un fsck:
git fsck --full
fatal: loose object a35c1489005cca1ffeb3c2d3e4d63988408b6a24 (stored in .git/objects/a3/5c1489005cca1ffeb3c2d3e4d63988408b6a24) is corrupted
Entonces un ls:
ls -l .git/objects/a3/5c1489005cca1ffeb3c2d3e4d63988408b6a24
----------+ 1 sampath ???????? 0 Sep 13 15:26 .git/objects/a3/5c1489005cca1ffeb3c2d3e4d63988408b6a24
Ese archivo no existe en el disco !?
# git cat-file -t a35c1489005cca1ffeb3c2d3e4d63988408b6a24
error: unable to find a35c1489005cca1ffeb3c2d3e4d63988408b6a24
fatal: git cat-file a35c1489005cca1ffeb3c2d3e4d63988408b6a24: bad file
Vi este error primero cuando traté de tirar.
Intenté eliminar el archivo y hacer un pull, pero eso no funcionó. Se quejó de que el archivo no se encuentra.
Cuando quité el archivo y corriendo fsck, que me mostró una gran cantidad de objetos sueltos
# git fsck --full
broken link from commit 1e5980c224ff19b19ad99dbefed4c7c64c58aee6
to tree a35c1489005cca1ffeb3c2d3e4d63988408b6a24
dangling tree 0401d636a512b208dffd6ac6e153ab0a061f8d5d
dangling blob 58014c0266784a1e3cc1502de82837c5f36c8514
dangling tree 0507fa56260c693cea678eab0343240c5bba06ad
dangling tree 130770880c664a0b0cf5a21d037cbdba7480dc90
me cansado de ir hacia atrás unos compromete y no sirvió de nada.
¿Alguna sugerencia sobre cómo recuperarse de esto?
¿Tiene una copia del repositorio en alguna parte? Si lo hace, enganche el objeto desde allí. Ya que lo estabas sacando de algún lado, con suerte tienes ese objeto en ese repo – Andy
¿Ayudaría http://stackoverflow.com/questions/801577/how-to-recover-git-objects-damaged-by-hard-disk-failure ayudar ? (Si tiene copias de seguridad de ese repositorio, por supuesto) – VonC
Intenté esto. Cloné el repositorio y desempaqué los objetos. Pero no pude encontrar el archivo de objeto suelto que tenía 0 tamaño. ¿Esto significa que pertenece a uno de mis compromisos locales que aún no se han enviado a remoto? –