Error de extracción de GIT: el objeto eliminado está dañado

 $ git pull remote: fatal: object 21f3981dd35fccd28febabd96f27241eea856c50 is corrupted error: git upload-pack: git-pack-objects died with error. fatal: git upload-pack: aborting due to possible repository corruption on the remote side. remote: aborting due to possible repository corruption on the remote side. fatal: protocol error: bad pack header 

¿Alguna idea de por qué esto falla?
Cuando ejecuto git --bare fsck-objects --full , solo veo enlaces colgantes, pero no enlaces rotos. También git gc no ayudó en absoluto. Cuando me niego o jalo de otro clon, no veo este error.

40
13 нояб. establecido por Senthil A Kumar 13 nov. 2010-11-13 03:59 '10 a las 3:59 2010-11-13 03:59
@ 7 respuestas

Como dijo Julian, vea https://confluence.atlassian.com/display/FISHKB/Git+indexing+fails+due+to+bad+pack+header

Realmente puede ser un problema de memoria, por lo que no perdemos la solución aquí:

 git config --global pack.windowMemory "100m" git config --global pack.SizeLimit "100m" git config --global pack.threads "1" 
23
30 нояб. la respuesta se da cazcade_neil 30 nov. 2013-11-30 01:08 '13 a la 1:08 2013-11-30 01:08

Agregar git config --global pack.window "0" funcionó para mí ... junto con lo siguiente

 git config --global pack.windowMemory "100m" git config --global pack.packSizeLimit "100m" git config --global pack.threads "1" 

Motivo

El clon de Git comprime los datos cuando se clona el repositorio

border=0

Comprime los datos en el servidor antes de recibir los datos / archivos.

Si no hay suficiente memoria en el servidor, obtendrá el error anterior al empaquetar objetos

Puede solucionar este problema haciendo que el repositorio git clone, sin empaquetar los objetos en el servidor con lo siguiente.

git config --global pack.window "0"

15
01 февр. la respuesta se da logan 01 feb. 2015-02-01 17:44 '15 a las 17:44 2015-02-01 17:44

Parece que la respuesta está en los comentarios: git fsck

11
08 мая '12 в 7:51 2012-05-08 07:51 robrich , 08 de mayo de 2012 a las 7:51 2012-05-08 07:51

Recibí este error y pasé medio día en todo lo que se describe en el mensaje: fsck, repack, gc, configurando los parámetros de la memoria.

También después de esta publicación: http://git.kernel.org/cgit/git/git.git/tree/Documentation/howto/recover-corrupted-blob-object.txt?id=HEAD

Pero al final fue tan fácil como encontrar un objeto dañado (21f3981dd35fccd28febabd96f27241eea856c50 en este caso) en el repositorio simple y reemplazarlo con una versión no dañada (que se puede encontrar en la carpeta .git de cualquiera de los repositorios locales).

5
09 янв. La respuesta se da Shiva 09 Jan. 2014-01-09 16:12 '14 a las 16:12 2014-01-09 16:12

Esto soluciona un problema para mí y espero que ayude a alguien más. :) https://confluence.atlassian.com/display/FISHKB/Git+indexing+fails+due+to+bad+pack+header

1
20 нояб. La respuesta fue dada por Julian el 20 de noviembre. 2013-11-20 17:48 '13 a las 5:48 pm 2013-11-20 17:48

Para mí, esto fue porque mi servidor remoto que aloja el repositorio git tenía un objeto / archivo dañado. Cuando intenté volver a empacar, no tenía suficiente memoria. Actualicé mi memoria de instancia, luego ssh-ed de nuevo y corrí

 git gc 

Aquí hay un enlace a la documentación:

https://git-scm.com/book/uz/v2/Git-Internals-Packfiles

0
12 нояб. respuesta dada por ceros y unidades el 12 de noviembre 2016-11-12 10:03 '16 a las 10:03 2016-11-12 10:03

en el cliente, intente esto de la siguiente manera:

 git config --global pack.windowMemory "100m" git config --global pack.SizeLimit "100m" git config --global pack.threads "1" git config --global pack.window "0" 

o en el servidor git, intente lo siguiente: edit: /home/git/repositories/***.git/config , agregue a continuación:

 [pack] window = 0 
0
19 июня '17 в 9:50 2017-06-19 09:50 la respuesta se da litian.zhuang 19 de junio, '17 a las 9:50 2017-06-19 09:50

Otras preguntas sobre tags o Haz una pregunta