2012-09-30 74 views
14

No estoy seguro de cómo me he metido en este lío. Pero estoy corriendo en error: object 15abe3addde5ad5f7d25e8f0f220d2e9faf3cb22:contains entries pointing to null cuando intento enviar mi repositorio a GitHub. El empuje completa: Error de Git al pulsar: objeto 15abe3addde5ad5f7d25e8f0f220d2e9faf3cb22: contiene entradas que apuntan a nulo

[[email protected] puppet]$ git push 
Counting objects: 27, done. 
Delta compression using up to 2 threads. 
Compressing objects: 100% (11/11), done. 
Writing objects: 100% (16/16), 5.67 KiB, done. 
Total 16 (delta 6), reused 14 (delta 4) 
error: object 15abe3addde5ad5f7d25e8f0f220d2e9faf3cb22:contains entries pointing to null sha1 
fatal: Error in object 
error: unpack failed: index-pack abnormal exit 
To [email protected]:andyshinn/puppet.git 
! [remote rejected] ganglia -> ganglia (unpacker error) 
! [remote rejected] master -> master (unpacker error) 
error: failed to push some refs to '[email protected]:andyshinn/puppet.git' 
Everything up-to-date

Git ls-árbol muestra que mi módulo de sudo es un sha1 nulo:

 
[[email protected] puppet]$ git ls-tree 15abe3addde5ad5f7d25e8f0f220d2e9faf3cb22 
... 
160000 commit 2cc9d02b3cf27d6a06d85612c03710aa0d90149c ssh 
160000 commit 6961179007dce76d7fb9bd1fc361273acb4129a7 stdlib 
160000 commit 0000000000000000000000000000000000000000 sudo 
040000 tree 2bd16a8fab440081a876f64d720b5b4d9d119bc9 sysctl 
040000 tree 01439b5a20363dccdf3f7103aab701fa7f4b3cd9 template 
... 

Los listados ssh, stdlib y sudo son submódulos de repositorios Git externos. Las carpetas sysctl y template son carpetas en el repositorio.

He intentado quitar el módulo y volver a agregarlo y parece que no puedo enviar ningún compromiso ahora. He hecho algunas búsquedas y encontré poco sobre el error. ¿Cómo puedo resolver este error?

+0

parece que su repositorio está estropeado, intente fsck o espero que tenga una copia de seguridad u otro clon para comenzar de nuevo – CharlesB

+0

Cuando ejecuto 'git fsck --full' no devuelve nada. Supongo que no hay nada que fsck. –

+0

, por lo que necesita una copia de seguridad ... – CharlesB

Respuesta

7

Pude resolver finalmente este problema. Aquí está lo que hice para resolverlo:

En el artículo https://help.github.com/articles/remove-sensitive-data hay un encabezado para Purgue el archivo de su repo. Estoy siguiendo su ejemplo para la eliminación de la Rakefile sino que se utiliza la carpeta problemática en su lugar:

git filter-branch --index-filter 'git rm -r --cached --ignore-unmatch modules/sudo' --prune-empty --tag-name-filter cat -- --all

Desde el árbol problemática era una carpeta añadí -r al comando. El resultado fue una limpieza de todos los commits para los sudo modiles y por lo tanto, el objeto 15abe3addde5ad5f7d25e8f0f220d2e9faf3cb22 desapareció! Después de un commit de los cambios, el push fue exitoso. Pude volver a agregar el módulo roto sin problemas.

0

Pruebe clonando el github repo (bare) a otro directorio local. A continuación, agregue esto como control remoto e intente presionar ese control remoto. Si esto falla, entonces su problema probablemente sea local. (Esta sería mi suposición)

Si no, aún así trataría de clonar su "repositorio de trabajo" y tratar de empujar desde ese clon al control remoto local que ha agregado anteriormente.

Si esto no ayuda, puede cambiar el nombre/hacer una copia de seguridad de su repositorio github y crear uno nuevo o ponerse en contacto con el soporte github.

+1

Aceptaré esto ya que contenía lo que finalmente tuve que hacer, que fue matar el repositorio de GitHub y crearlo de nuevo y luego pulsarlo. Fue un problema en el control remoto de GitHub. Contacté con el soporte de GitHub pero no llegué muy lejos con ellos. Fue más fácil simplemente volarlo y crearlo de nuevo. –

+0

Volví a encontrar este error e intenté con esto. Pero el mismo problema sucede. el commit sudo tiene un null sha1. Maté el repositorio de GitHub existente y traté de presionar a un nuevo control remoto para obtener el mismo problema. ¿Es posible reparar el repositorio local? –

Cuestiones relacionadas