Git neden bana "Optimum performans için depoyu arka planda otomatik paketleme" diyor?


106

Not : Ben değil bu kopyası olduğunu düşünüyorum bu soruya olmayan bir arka plan paketi bahsediyor, askıda kalır git'e bir kurnazca farklı bir hata mesajı ile .


Git depolarımdan birinde, her çağırdığımda (örneğin) git fetchgit yazdırır:

Auto packing the repository in background for optimum performance.
See "git help gc" for manual housekeeping.

git fetchDeğişiklik olmadığında ve git fetchyapacak hiçbir şey olmadığında bile, tekrar tekrar yaparsam, bunu her seferinde yazdırıyor gibi görünüyor . Bu bana pek mantıklı gelmiyor. Ayrıca, git pushve gibi diğer ağ işlemlerinde de görülüyor git pull.

Komut, başka bir çıktı olmadan anında komut istemine geri dönüyor ve makinemde çalışan herhangi bir git işlemi bulamıyorum. Sadece bu depoda ve sadece bu makinede gerçekleşiyor gibi görünüyor. git config -l | grep gchiçbir şey döndürmez.

Bu sorunu teşhis etmek veya düzeltmek için ne yapabilirim?

$ git --version 
git version 2.0.1

OS X 10.9 kullanıyorum.


Bağlandığınız soruyla aynı soruna benziyor, ancak asılmayacak kadar hızlı oluyor.
Holloway


Trengot, sanmıyorum. Hata mesajı oldukça farklıdır - "arka plan" dan bahseder.
Andrew Ferrier

Trengot, üzgünüm, haklıydın, ilgiliydi (ikinci bağlantı). İşaretçi için teşekkürler, ayrıntılar için aşağıdaki cevabıma bakın.
Andrew Ferrier

Yanıtlar:


175

Çözümü sağladığınız ikinci yorumdan buldum Trengot, teşekkürler. Görünüşe göre .git/objects/17, ambalajın içinde olan ve bu nedenle ambalajı tetikleyen sarkan lekelerim vardı :

$ git fsck
dangling blob d9ff0aeac4aa8b4e0907daed675ebf60278bc977
dangling blob dbff2d073741f9775c815d4a3c623736af224dad
dangling blob e1ffbab1c5b985cd1cd3bc0281075ea2ed80744a
dangling blob fdff59878ccb3a75689f4acca615cfb635288774

Bu onları temizledi:

$ git gc --prune=now

Henrik'in aşağıdaki yorumuna göre, bunun biraz tehlikeli olabileceğini unutmayın. Kendine iyi bak!


24
Teşekkürler! Bu benim için işe yaradı. Bunun --prune=nowbiraz tehlikeli olduğunun farkında olun . Varsayılan olarak, --prune2 hafta sarkan bloblar tutacaktır, yani 5 dakika önce yanlışlıkla yanlış bir yeniden ödeme yaptıysanız veya dün bir şubeyi kaldırdıysanız, kurtarabilirsiniz. Bu komutu çalıştırdığınızda, şu ana kadar sarkan tüm blogları kaybedersiniz - 2 hafta öncesine değil. Ayrıca, görünüyor başka terminalde diğer Git komutları yaparken bunu çalıştırmak asla veya repo bozuk olabilir gibi.
Henrik N

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.