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ş:
Nasıl bir yol ve dosya adları geçersiz...
Nasıl Git deposu tarih commit/kaldırma...
Nasıl Dosya Active Directory üzerinde ...
Nasıl bir JavaScript nesnesinin bir öz...
Nasıl bir proje içinde tek bir dosya i...