Remarque : je ne pense pas que ce soit un doublon de cette question , qui parle d'un pack sans arrière-plan qui bloque git avec un message d'erreur subtilement différent .
Dans l'un de mes référentiels git, chaque fois que j'invoque (par exemple) git fetch
, git imprime:
Auto packing the repository in background for optimum performance.
See "git help gc" for manual housekeeping.
Il semble imprimer cela à chaque fois si je fais un à git fetch
plusieurs reprises, même s'il n'y a pas de changements et rien git fetch
à faire. Cela n'a pas beaucoup de sens pour moi. Cela semble également se produire avec d'autres opérations réseau, telles que git push
et git pull
.
La commande revient instantanément à l'invite sans autre sortie, et je ne trouve aucun processus git en cours d'exécution sur ma machine. Cela semble ne se produire qu'avec ce référentiel, et uniquement sur cette machine. git config -l | grep gc
ne renvoie rien.
Que puis-je faire pour diagnostiquer ou résoudre ce problème?
$ git --version
git version 2.0.1
J'utilise OS X 10.9.
la source
Réponses:
J'ai trouvé la solution dans le deuxième commentaire que vous avez fourni, Trengot, merci. Il s'avère que j'avais des gouttes pendantes, qui étaient à l'intérieur
.git/objects/17
et déclenchaient donc l'emballage:Cela les a nettoyés:
Soyez conscient, selon le commentaire d'Henrik ci-dessous, cela peut être un peu dangereux. Prends soin de toi!
la source
--prune=now
c'est un peu dangereux. Par défaut,--prune
conservera 2 semaines de blobs pendantes, ce qui signifie que si vous avez accidentellement fait un rebase incorrect il y a 5 minutes, ou supprimé une branche hier, vous pouvez récupérer. Une fois que vous exécutez cette commande, vous perdez tous les blogs en suspens jusqu'à maintenant - pas il y a 2 semaines. En outre, il semble que vous ne devriez jamais l'exécuter en exécutant d'autres commandes Git dans un autre terminal, sinon votre dépôt peut être corrompu.