Git'i Bitbucket'ta barındırırken, 2 GB'lık sabit bir sınır vardır - bu aşılırsa, depoya yalnızca salt okunur erişiminiz olur. Bunu önlemek için, örneğin, geriye dönük olarak büyük klasörleri veya dosyaları taahhütlerinizden kaldırabilirsiniz. Ancak başka durumlarda da (erişim verileri geçmişe girdiyse veya node_modules ana haline döndüyse), Git'in geçmişini doğasının tersine geriye dönük olarak değiştirmelisiniz.
Bitbucket bununla ilgili ayrıntılı bir makale yazdı. Her şeyi bir vaka üzerinde çalıştırmak için önce yeni bir depo oluşturuyoruz:
Ardından depoyu yerel makinedeki boş bir klasöre klonlarız:
6ab7686fc508ce87c52b10bb5d01ee51
Şimdi rastgele içerikli dosyalar içeren iki alt klasör oluşturuyoruz:
6ab7686fc508ce87c52b10bb5d01ee51
Şimdi ustayı zorluyoruz:
6ab7686fc508ce87c52b10bb5d01ee51
Şimdi Bitbucket'ta neredeyse 2 GB'lık kesin sınıra ulaştık:
Bunu yerel olarak da kontrol edebiliriz (bkz. "Beden paketi"):
6ab7686fc508ce87c52b10bb5d01ee51
Şimdi görev, boyutunu yarıya indirmek için "foo" yu depodan geriye dönük olarak kaldırmaktır. Bunu yapmak için önce mevcut HEAD'i düzenleyip klasörü gitignore'a yazıyoruz:
6ab7686fc508ce87c52b10bb5d01ee51
Son olarak, klasörü BFG Repo Cleaner yardımıyla kaldırıyoruz (BFG, sistem gereksinimi olarak sistemde güncel bir JRE gerektirir):
6ab7686fc508ce87c52b10bb5d01ee51
Artık sonucu yerel olarak görebiliriz:
6ab7686fc508ce87c52b10bb5d01ee51
Ancak, çöp toplayıcı henüz uzaktan çalıştırılmadığından ve bitbucket her itmede bir "git gc" gerçekleştirmediğinden Bitbucket'ta depo boyutu değişmemiştir:
Bu aynı zamanda destek tarafından da onaylandı:
Bu nedenle, depoda "git gc" yi manuel olarak çalıştırmak için doğrudan support@bitbucket.org adresine bir istek göndermek en iyisidir. Kısa bir süre sonra bu da destek ekibi tarafından yapıldı.:
Depoyu başka bir bilgisayara "yeni" taşırsanız, diskte yalnızca 0,9 GB bitecektir. Birinin 1.8 GB sürümü yerel olarak mevcutsa, "git pull" ve ardından "git gc" yeterlidir.