SORU
23 Aralık 2010, PERŞEMBE


Nasıl bir git deposundan eski tarihi kaldırabilirim?

Bu şekilde bir senaryo gibi bir şey bulamadım maalesef.

Tarihin bir çok git deposu var: 500 Şubesi, 500, 2007 yılı ortalarında geri dönüyor etiketleri. ~19,500 taahhüt içerir. Jan öncesi tarihi 1, 2010, daha küçük ve daha kolay hale getirmek için uğraşmak (bir arşiv Depo ve tarihin tam bir kopyasını tutmak istiyoruz) kaldırmak istiyoruz.

Yeni depo kök olmak istiyorum taahhüt biliyorum. Ancak, dışarı doğru git mojo şekil repo taahhüt ile başlamak kesecek şekilde yapabilirim. Bazı değişken tahmin ediyorum

git filter-branch

greft gerekli olabilir içeren, aynı zamanda ayrı ayrı ve sonra patch repo geri birlikte devam etmek istiyoruz 200 şubeleri her şey . tedavi için gerekli olabilir ^em>yapınnasıl yapılacağını biliyorum).

Kimse de böyle bir şey var mı? Eğer sorun buysa tabii gıt 1.7.2.3 var.

CEVAP
5 ŞUBAT 2011, CUMARTESİ


Sadece yeni kök üst (veya boş bir işlemeye, örneğin gerçek kök depo tamamlama) taahhüt üst graft oluşturun. E. g. echo "<NEW-ROOT-SHA1>" > .git/info/grafts

Greft oluşturduktan sonra, etkisi hemen alır; git log bak ve istenmeyen eski tamamlar uzağa gittiğini görmek gerekir. Eğer beklendiği gibi görünüyorsa, git filter-branch -- --all basit bunu kalıcı hale getirmek için ne yapabilirim.

DİKKAT:bu yaptıktan sonrafiltre-şubeadım, tüm kimlikleri değişmiş olacaktır işlemek, kimsenin eski repo kullanarak kimseye yeni repo kullanarak ile birleştirmek gerekir.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • ABC News (Australia)

    ABC News (Au

    9 HAZİRAN 2008
  • Kai Moosmann

    Kai Moosmann

    5 Temmuz 2006
  • Paste Magazine

    Paste Magazi

    28 AĞUSTOS 2008