2016-10-13 42 views
7

Git'i okuyorum ve cevap vermek için uğraştığım çok özel bir sorum var.Git gc deterministik aralıklarla yürütülür mü?

git gc otonom olarak yürütüldüğünde?

Çeşitli forumların üzüm asmalarını, itme veya alma/çekme üzerinde varsayılan olarak gerçekleştiğini duyuyorum - ancak bunu doğrulayan herhangi bir kaynak bulamıyorum. Hatta the documentation itself sadece bu spesifik (vurgu benim) alır:

Bazı git otomatik git gc çalıştırabilir komutları; Ayrıntılar

için aşağıdaki --auto bayrağı görmek ve --auto bayrak

Bazı git komutları birçok gevşek nesneleri oluşturabilir işlemleri gerçekleştirdikten sonra git gc --auto çalıştırmak belirtir.

"Gevşek ağacı ve blob dosyaları çalıştırılır aşağıdaki komutlardan biri kadar git ile yukarı temizlemiş olmaz::

Ben deterministically söylemek mümkün istiyorum {sır listesi burada}. Bu komutlardan birini çalıştırırken, gevşek nesnelerin sayısı gc.auto değerini aşarsa, git otomatik olarak nesneleri bir paket dosyasına sıkıştırır ". Şu anda bu

+2

belki de gelecekteki sürümleri kısıtlamak kasıtlı olarak belirsiz? – the8472

+0

belki ama bir çeşit resmi doğrulama istiyorum - bir şekilde – Matt

cevap

5

şunlardır:

  • birleştirme getirme
  • am
  • almak paket
  • taahhüt

    Gerçek liste yaparak doğrulanabilir

( starting with Git 2.17, Q2 2018) code search.

Ayrıca ondan aldığınız gc'nin receive.autogc ile devre dışı bırakılabildiğini görebilirsiniz, diğerleri sadece gc'yi sonuna kadar çalıştırır.