J’ai frappé au hasard la liste aujourd’hui en essayant de ramasser les ordures.
$ git gc fatal: bad object refs/remotes/origin/HEAD error: failed to run repack
Comment puis-je gérer cela?
Je ne comprends pas les ramifications de ceci, mais comme suggéré dans ce fil , quand j’ai rencontré ceci j’ai juste fait
$ mv .git/refs/remotes/origin/HEAD /tmp
(le garder juste au cas où) et ensuite
$ git gc
travaillé sans se plaindre; Je n’ai rencontré aucun problème.
Le problème que j’ai rencontré (qui est le même problème que @Stavarengo mentionné dans ce commentaire ci-dessus) est que la twig distante par défaut ( develop
dans mon cas) avait été supprimée, mais était toujours référencée dans .git/refs/remotes/origin/HEAD
.
L’ouverture de .git/refs/remotes/origin/HEAD
dans mon éditeur a montré ceci:
ref: refs/remotes/origin/develop
Je l’ai soigneusement édité pour indiquer ma nouvelle twig par défaut et tout allait bien:
ref: refs/remotes/origin/master
L’indice qui m’a mis en garde est que l’exécution de git prune
montré cette erreur:
> git prune warning: symbolic ref is dangling: refs/remotes/origin/HEAD
Je pensais que la solution était la suivante, car cela semblait fonctionner, mais il s’avère que cela ne résout pas le problème.
git remote set-head origin --auto
Après avoir vu la réponse de Trenton, j’ai regardé mon .git/refs/remotes/origin/HEAD
et j’ai vu qu’il .git/refs/remotes/origin/HEAD
également une ancienne succursale qui est maintenant supprimée.
Mais au lieu de modifier le fichier moi-même, j’ai essayé la solution de Ryan:
git remote set-head origin --auto
Il définit automatiquement le fichier sur la nouvelle twig, et git gc
fonctionnait bien après cela.