2011-12-23 3 views
1

version git 1.7.7.4objet non valide en essayant de cloner référentiel

Je suis allé à cloner de mon respository git et j'ai les erreurs suivantes:

remote: fatal: failed to read object a89f72f06a1f6f56f924b0e8ae9e33f477da8fcd: Invalid argument 
error: git upload-pack: git-pack-objects died with error. 
remote: aborting due to possible repository corruption on the remote side. 
fatal: early EOF 
fatal: git upload-pack: aborting due to possible repository corruption on the remote side. 
fatal: index-pack failed 

Je suis donc allé au dépôt lui-même pour vérifier et Je suis arrivé ceci:

git fsck 
fatal: failed to read object 1aea37c864c6b5d0d60d6fc38117bc420671b692: Invalid argument 

J'ai alors fait cela pour essayer de résoudre le problème:

git gc --prune 
fatal: failed to read object a89f72f06a1f6f56f924b0e8ae9e33f477da8fcd: Invalid argument 
error: failed to run repack 

Y at-il de toute façon que je peux obtenir ce problème résolu?

Un grand merci,

Répondre

1

Git représente tout comme une collection d'objets, que ce soit sur le disque (comme un objet en vrac) ou dans un paquet (comme un objet compressé). Pendant le clonage, git parcourt toute l'histoire pour déterminer les objets à envoyer. Si un objet est manquant, eh bien c'est une mauvaise nouvelle - le message d'erreur est vrai, le dépôt est probablement corrompu (soit un objet détaché a disparu, soit éventuellement le paquet entier).

Vous pourriez avoir une chance en essayant de cloner une branche différente. Si le marcheur ne trouve pas cet objet manquant, tout ira bien. Si vous vous sentez incroyablement ambitieux, vous pouvez creuser dans les structures de données de stockage git et voir si vous pouvez patcher ensemble l'histoire à la main (ce serait incroyablement difficile, mais pas impossible).

Sinon, c'est git. Si vous avez fait des clones récemment, alors félicitations, vous avez une sauvegarde complète. Poussez depuis votre repo cloné et les objets manquants seront remplis.

Bonne chance.

+0

Si vous avez un bon référentiel, il est facile de copier cet objet. Voir http://stackoverflow.com/questions/801577/how-to-recover-git-objects-damaged-by-hard-disk-failure –

Questions connexes