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

  • Christopher Bill

    Christopher

    30 NİSAN 2009
  • kev5124

    kev5124

    9 Kasım 2008
  • theatre2film

    theatre2film

    12 NİSAN 2006