3 yıldan fazla bir süre boyunca büyük bir depondayım var, bir yıldan uzun süredir olan değişikliklerin geçmişini silmek istiyorum. Mümkün mü? Git rebase kullanabilir ama nasıl?Git kaldır geçmişi kaldır
cevap
Geçmişi silmek muhtemelen sorununuzu gidermez. Şanslar, bir noktada, depoya büyük bir dosya yüklendi ve daha sonra kaldırıldı.
Find files in git repo over x megabytes, that don't exist in HEAD'a bir göz atabilirim.
Örnek olarak, tam koşullarınızı kullanan this article from the Pro Git book numaralı git replace
adlı kara büyüyü araştırın. Temel olarak, tarihte yeni bir kök olarak hareket etmek istediğiniz bir noktayı bulabilirseniz, onu hiç bir ailenin olmadığı, sanki ince bir havadan yapılmış gibi yapan bir taahhütle değiştirebilirsiniz. Orijinal ağacı tek bir makinede bile saklayabilirsiniz, böylece tekrar ihtiyacınız varsa geçmişi geri yükleyebilirsiniz.
git rebase
(ve bu konu için git replace
) ile ilgili bir sorunun, şubeler de dahil olmak üzere tüm ağacın yeniden yazılmasını istediğinizden emin olun, böylece hepsi farklı işlemlere işaret eder. Bu aynı zamanda, ekibinizdeki diğer kişilerin de değişikliklerini birleştirmesini zorlaştırmanın bir sonucudur, çünkü tüm ebeveynler daha önce sahip olduklarından farklı SHA'lara sahiptir.
Okuduklarımdan , '' değiştir yerine'' şey, değişen-hashes-problemi etrafında çalışmayacak.Onman –
@Jonas Haklısın.Onun net olması için cevabımı yeniden yapılandırdım. –
Harika! karmaşanın içinde hiçbir değişiklik yapmadan bir sürü tarihin yerini tutabilirsiniz .. Sonuçta, bu şifreleme karmaları git kullanma nedenlerinden biridir. –
- 1. Git kaldırma işlemini kaldır
- 2. Android: Görünümden kaldır kaldır
- 3. Git boş bırakma işlemlerini kaldır
- 4. Xcode değiştir/kaldır şablonunu kaldır
- 5. Dosyayı değiştirilmiş bir işlemden kaldır
- 6. 'credential-osxkeychain' kaldır '
- 7. Tüm ekip üyelerinden havuzlardaki git etiketlerini kaldır
- 8. Yüklemeyi kaldır (kaldır) Bağımlılıkları olan R paket
- 9. Yüklemeyi kaldır
- 10. kaldır paketleri
- 11. Kaldır apache
- 12. "Tümünü kaldır" "
- 13. "Yığını kaldır"
- 14. kaldır çiftleri
- 15. kaldır _ID
- 16. GWT. Bağlantı parçasını kaldır url
- 17. Hatalı birleştirmeleri depodan kaldır
- 18. Onlycalendar'da yalnızca ay görünümü ("Gün" ve "Haftalar" görünümünü kaldır/kaldır)
- 19. Özel başlığı Kendo'ya aktar Gönderin Kaldır Kaldır url
- 20. Sütunu OpenCV Mat'tan kaldır
- 21. seçimini kaldır SelectedItem listesinde
- 22. Anahtar dinleyiciyi panelden kaldır
- 23. pandalar dizisinden NaN'i kaldır
- 24. bir Kaldır-Öğe komutunun
- 25. gc() 'deki baskıyı kaldır
- 26. İlk 16 Byte Kaldır?
- 27. as3 dizilimi endeksle kaldır
- 28. MongoDB kaldır mapreduce collection
- 29. Kaldır dize listesi
- 30. datetime zamanından kaldır spaqrl
Git, değişikliklerinizi kaydetmek için hazırlandı. Tarihin silinmesinin etkisi nedir? –
Tarihçem çok büyük, .git dir 400 MB'dan büyük, tüm klonları indirmem gerekiyor :( – paweb
Olası kopya: [Eski depoyu bir git deposundan nasıl silebilirim?] (Http://stackoverflow.com/questions/4515580/how-do-i-remove-the-old-history-from-a-git-repository) –