Bitbucket: Git Geçmişinden Klasörü Sil

Git'i Bitbucket'te barındırırken 2 GB'lık bir sabit sınır vardır - bu aşılırsa, depoya yalnızca salt okunur erişiminiz olur. Bunu önlemek için, örneğin, büyük klasörleri veya dosyaları taahhütlerinizden geriye dönük olarak kaldırın. Ancak diğer durumlarda da (erişim verileri geçmişe girdiyse veya node_modules tekrar master'a geçtiyse) Git'in geçmişini doğasının aksine geriye dönük olarak değiştirmelisiniz.


Bitbucket bu konuda ayrıntılı bir makale yazdı. Her şeyi bir durumda gözden geçirmek için, önce yeni bir depo oluşturuyoruz:

bitbucket geçmişi temiz

Daha sonra havuzu yerel makinedeki boş bir klasöre kopyalarız:

6ab7686fc508ce87c52b10bb5d01ee51

Şimdi rastgele içerikli dosyalar içeren iki alt klasör oluşturuyoruz:

6ab7686fc508ce87c52b10bb5d01ee51

Şimdi ustayı zorluyoruz:

6ab7686fc508ce87c52b10bb5d01ee51

Şimdi Bitbucket'te neredeyse 2 GB'lik sabit sınıra ulaştık:

bitbucket geçmişi temiz

Bunu yerel olarak da kontrol edebiliriz (bkz. "Beden paketi"):

6ab7686fc508ce87c52b10bb5d01ee51

bitbucket geçmişi temiz

Ş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üzenliyoruz ve klasörü gitignore'a yazıyoruz:

6ab7686fc508ce87c52b10bb5d01ee51

Son olarak, klasörü BFG Repo Temizleyici kullanarak kaldırıyoruz (BFG, sistem gereksinimi için sistemde geçerli bir JRE gerektirir):

6ab7686fc508ce87c52b10bb5d01ee51

Şimdi sonucu yerel olarak görüyoruz:

6ab7686fc508ce87c52b10bb5d01ee51

bitbucket geçmişi temiz

Ancak, çöp toplayıcı henüz uzaktan yürütülmediği ve bitbucket her basışta bir "git gc" yürütmediği için havuz boyutu Bitbucket'te henüz değişmemiştir:

bitbucket geçmişi temiz

Destek ayrıca şunu doğrular:

bitbucket geçmişi temiz

Bu yüzden depoda manuel olarak "git gc" yi çalıştırmak için doğrudan support@bitbucket.org adresine bir istek göndermek en iyisidir. Kısa bir süre sonra bu destek ekibi tarafından da yapıldı:

bitbucket geçmişi temiz

Şimdi deposu "yeni" olarak başka bir bilgisayara sürüklerseniz, diskte yalnızca 0,9 GB olur. Birisi hala yerel olarak 1,8 GB sürümüne sahipse, bir "git pull" ve ardından "git gc" yeterlidir.

Geri