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

  • Fuse

    Fuse

    21 Kasım 2005
  • MrChiCity3

    MrChiCity3

    14 NİSAN 2008
  • Wild Academy

    Wild Academy

    8 Aralık 2009