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

  • Hak5

    Hak5

    7 EYLÜL 2005
  • Rickymon Tero

    Rickymon Ter

    1 Ocak 2007
  • SaMmM123

    SaMmM123

    3 Mayıs 2006