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
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.
Nasıl kaldırabilirim .Git deposundan D...
Nasıl yeni bir Git deposuna tarihi ile...
Geri eski durumuna repo getirmek için ...
Nasıl Eski/kullanım dışı olarak bir yö...
Nasıl bir HTTP proxy sunucusu üzerinde...