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

  • Le Cargo !

    Le Cargo !

    24 HAZİRAN 2007
  • Mark Brown

    Mark Brown

    9 HAZİRAN 2010
  • nigahiga

    nigahiga

    21 Temmuz 2006