Esta es una de las numerosas preguntas sobre un repository de Git que está dañado, precisamente un object suelto que salió mal:
$ git gc Counting objects: 3299, done. error: inflate: data stream error (unknown compression method) error: unable to unpack 831a5d31af4a0af2f5a367689bee27a44efc22c9 header Delta compression using up to 6 threads. Compressing objects: 100% (3283/3283), done. error: inflate: data stream error (unknown compression method) fatal: loose object 831a5d31af4a0af2f5a367689bee27a44efc22c9 (stonetworking in .git/objects/83/1a5d31af4a0af2f5a367689bee27a44efc22c9) is corrupt error: failed to run repack
Siguiendo las respuestas existentes sobre el tema ( ¿Cómo trato con los files de objects git corruptos?, ¿Cómo reparar el repository git dañado? O ¿Qué puedo hacer con la corrupción de Git debido a un object faltante? ) Ya 831a5d31
el object 831a5d31
de los corruptos repository.
En mi caso, tengo un clon del repository, que parece contener el object que me falta, pero no hay ningún file en los objects/83/1a5d31af4a0af2f5a367689bee27a44efc22c9
. ¿Cómo puedo hacer para arreglar mi repository?
Si el file existe en otra parte
El object del repository limpio se ha reempaquetado, es por eso que ya no existe como un file.
Para restaurarlo, primero guárdelo como un file, desde el repository limpio, con
git show 831a5d31af4a0af2f5a367689bee27a44efc22c9 > 831a5-file
Mueva 831a5-file
en el repository dañado y ejecútelo
git hash-object -w 831a5-file
Asegúrese de que el SHA1 dado en la salida sea 831a5d31af4a0af2f5a367689bee27a44efc22c9
¡Esto almacenará el object y el repository será reparado!
Si el file no existe en otra parte
Si el file no existe en otro lugar, es decir, la corrupción se produjo después de la confirmación, pero antes de que pudiera presionar, hay una forma de restaurar su repository y volver a comprometer los cambios. Vea esta respuesta a una pregunta relacionada.