SORU
5 Ocak 2012, PERŞEMBE


Tarihi dosya kaldırmak için taahhüt Nasıl?Gıt:

Kimliği 56f06019 (örneğin) ile taahhüt var. O yanlışlıkla yatan büyük dosya (50Mb) var bende. Başka bende aynı dosyayı ama doğru boyutu (küçük) ekleyin. Benim repo ben klon çok ağır :( Nasıl repo tarihinin büyük dosya benim repo boyutunu kaldırmak için ? şimdi ne zaman

CEVAP
5 Ocak 2012, PERŞEMBE


Pro Git kitap Bölüm 9 Removing Objects bölümü var.

Bana adımları burada kısaca tarif edeyim:

git filter-branch --index-filter \
    'git rm --cached --ignore-unmatch path/to/mylarge_50mb_file' \
    --tag-name-filter cat -- --all

Rebasing seçeneği daha önce açıklanan, filter-branch gibi yeniden yazma işlemi. Eğer tarih yayınlanan, 4 ** yeni hakemler itmek gerekir.

filter-branch yaklaşım oldukça rebase yaklaşım daha güçlü çünkü

  • tüm dalları/hakem aynı anda çalışma olanağı sağlar
  • yeniden adlandırır anında herhangi bir etiket
  • eğer birkaç varsa orada bile temiz bir şekilde çalışır dosya eklenmesi beri işleyen birleştirme
  • eğer dosya (tekrar)eklenmişse temiz bile çalışır/(a) şube(ler) tarihinin birkaç kez kaldırıldı
  • ağaç ile ilgili değiştirirken yeni, ilgisiz tamamlar, daha ziyade kopya onları yaratmaz. Bu gibi şeyler imzalı, notları tamamlama vb tamamlar anlamına gelir. korunur

filter-branch de yedekleri tutar, repo büyüklüğü reflogs ve Çöp toplamak son kullanma tarihleri hemen azalmaz mı yani:

rm -Rf .git/refs/original       # careful
git gc --aggressive --prune=now # danger

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:
Git

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Damien Walters

    Damien Walte

    20 AĞUSTOS 2006
  • Sorikan

    Sorikan

    3 ŞUBAT 2008
  • whiteboy7thst

    whiteboy7ths

    1 Temmuz 2009