SORU
15 Aralık 2009, Salı


Nasıl git benim repo dan başvurulmayan lekeler kaldırmak için

İki dal - ana & serbest olduğu bir GitHub repo var.

Yayın şube çok büyük bir repo büyüklüğü katkıda bulunduklarını, bu alan dağıtım ikili dosyaları (>250 MB), ben şeyleri temizlemek için karar verdi.

İlk uzaktan kumandalı açma kolu git push origin :release) sildim

Daha sonra yerel yayın şube sildim. İlk git branch -d release, ama git dedi çalıştım< "hata: şube' geçerli KAFANI. atası değildir" 'release ^emdoğru olan, o zaman git branch -D release silinecek zorlamak için yaptım.

Ama benim depo boyutu, yerel ve GitHub üzerinde de, yine de büyük oldu. O zaman hiç şans* *5, her zamanki gibi git komutların listesi üzerine koştum.

SO 1029969 Charles Bailey talimatları takip ederek büyük lekeler için SHA1s bir liste alabildim. Ben o SO 460331 script lekeler bulmak için kullanılan...ve beş büyük küçük lekeler senaryonun iyi olduğunu biliyorum bulundu, ama yok, yok.

Bu bloglar serbest şubesinden ikili olduğunu düşünüyorum, ve onlar bir şekilde bu şubenin sil sonra solda da var. Onlardan kurtulmak için doğru yolu nedir?

CEVAP
6 ŞUBAT 2013, ÇARŞAMBA


... ve daha fazla uzatmadan, sizi bu kullanışlı script sunuyorum,git-gc-tümkaldırmak için garantitümsenin gıt ekstra config değişkenleri ortaya çıkartabilirler kadar çöp:

git -c gc.reflogExpire=0 -c gc.reflogExpireUnreachable=0 -c gc.rerereresolved=0 \
    -c gc.rerereunresolved=0 -c gc.pruneExpire=now gc "$@"

--Saldırgan seçenek yararlı olabilir.

Ayrıca bu ilk, ah canım, git karışık! gibi bir şey yoktur.

git remote rm origin
rm -rf .git/refs/original/ .git/refs/remotes/ .git/*_HEAD .git/logs/
git for-each-ref --format="%(refname)" refs/original/ | xargs -n1 --no-run-if-empty git update-ref -d

Bir senaryo bu, buraya koyuyorum:

http://sam.nipl.net/b/git-gc-all-ferocious

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • bombjack2991

    bombjack2991

    29 HAZİRAN 2008
  • Michael Neal

    Michael Neal

    2 Mayıs 2009
  • Titan Lee Hai

    Titan Lee Ha

    14 Temmuz 2008