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

  • Canal de arkyoru

    Canal de ark

    18 Ocak 2007
  • Majestic Casual

    Majestic Cas

    28 NİSAN 2012
  • TecnoTutosPC

    TecnoTutosPC

    19 Kasım 2012