SORU
1 AĞUSTOS 2009, CUMARTESİ


Bir dizini kalıcı olarak gıt Kaldır

Kişisel gıt benim repo, artık gerekli olmayan küçük binlerce resim içeren bir dizin var. Bir şekilde bütün gıt geçmişi silmek var mı? Denedim

git filter-branch --index-filter "git rm -rf --cached --ignore-unmatch imgs" HEAD

ve

git filter-branch --tree-filter 'rm -fr imgs' HEAD

ama git repo boyutu değişmeden kalır. Herhangi bir fikir?

Teşekkürler

CEVAP
1 AĞUSTOS 2009, CUMARTESİ


ProGit kitabı Removing Object ilginç bir bölüm vardır.

Bununla bitmeyecek:

Geçmişi artık bu dosya için bir başvuru içerir.
Ancak, reflog ve yeni bir set hakemler bunu Gıt eklendiğinde yaptığın filter-branch .git/refs/original hala var bu yüzden bunları kaldırmak ve sonra toplayıp veritabanı. Sen toplayıp önce o eski işleyen bir işaretçi bir şey kurtulmak gerekir:

$ rm -Rf .git/refs/original
$ rm -Rf .git/logs/
$ git gc
$ git prune --expire 

(git prune --expire zorunlu değil ama gevşek nesnelerden dizin içeriği kaldırabilirsiniz)
Durumda bu komutları yapmadan önce, sadece;*)

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Art Food Kitty - Kelly Eddington

    Art Food Kit

    7 Kasım 2006
  • Hallucination Land

    Hallucinatio

    14 Ocak 2011
  • itfigueres

    itfigueres

    12 EKİM 2013