284 votes

Comment gérer git gc fatale: mauvais objet refs/remotes/origin/TÊTE d'erreur: impossible d'exécuter la remballer

Je aléatoirement la liste aujourd'hui, tout en essayant de collecter les ordures.

$ git gc
fatal: bad object refs/remotes/origin/HEAD
error: failed to run repack

Comment puis-je gérer cela?

315voto

petrelharp Points 460

Je ne comprends pas les ramifications de cette, mais comme il est suggéré dans ce fil, quand j'ai rencontré ce que je viens de

$ mv .git/refs/remotes/origin/HEAD /tmp

(en la laissant autour juste au cas où) et puis

$ git gc

travaillaient sans se plaindre; je n'ai pas rencontré de problèmes.

154voto

WilQu Points 3010

Après avoir vu de Trenton de réponse, j'ai regardé ma .git/refs/remotes/origin/HEAD et vu qu'il était aussi en montrant une vieille branche qui est maintenant supprimé.

Mais au lieu de modifier le fichier de moi-même, j'ai essayé de Ryan solution:

git remote set-head origin --auto

Il définit automatiquement le fichier de la nouvelle branche, et git gc a bien fonctionné par la suite.

114voto

Trenton Points 41

Le problème que j'ai rencontré (qui est le même problème que @Stavarengo mentionnés dans ce commentaire ci-dessus), c'est que la distance par défaut de la branche (develop dans mon cas) a été supprimé, mais il était encore référencé dans .git/refs/remotes/origin/HEAD.

L'ouverture d' .git/refs/remotes/origin/HEAD dans mon éditeur a montré ceci:

ref: refs/remotes/origin/develop

J'ai soigneusement édité à point à ma nouvelle branche par défaut et tout allait bien:

ref: refs/remotes/origin/master

L'indice qui à bout de moi était que l'exécution d' git prune a montré cette erreur:

> git prune
warning: symbolic ref is dangling: refs/remotes/origin/HEAD

25voto

Ryan Points 331

Je pensais que la solution était la suivante puisque cela semblait fonctionner, mais il ne s'avère pas réellement résoudre le problème.

git remote set-head origin --auto

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X