Aşağıdaki durumu göz önünde bulundurun:
- Git deposunun bir klonuna sahipsiniz
- Bazı yerel taahhütleriniz var (henüz hiçbir yere itilmemiş olan taahhütler)
- Uzak depoda henüz uzlaştırılmadığınız yeni taahhütler var.
Yani böyle bir şey:
Yürütürseniz git pull
varsayılan ayarlarla, böyle bir şey çıkacak:
Bunun nedeni Git'in bir birleşme gerçekleştirmesidir.
Yine de bir alternatif var. Çekme yerine yeniden yapmak için çekme söyleyebilir:
git pull --rebase
ve bunu alacaksın:
Bence, yeniden yapılanmış sürüm, çoğunlukla hem kodunuzu hem de geçmişi temiz tutmaya odaklanan çok sayıda avantaja sahip, bu yüzden git'in varsayılan olarak birleştirme yaptığı gerçeğini biraz şaşırdım. Evet, yerel taahhütlerinizin karmaları değişecek, ancak karşılığında aldığınız basit geçmiş için ödenmesi gereken küçük bir fiyat gibi görünüyor.
Hiçbir şekilde, bunun bir şekilde kötü ya da yanlış bir varsayılan olduğunu önermiyorum. Birleşmenin neden varsayılan olarak tercih edilmesinin nedenleri hakkında düşünmekte zorlanıyorum. Neden seçildiğine dair bir fikrimiz var mı? Varsayılan olarak daha uygun hale getiren faydalar var mı?
Bu sorunun temel motivasyonu, şirketimin, geliştiricilerin daha önce birlikte çalışmadıkları bir depoya yaklaşmalarını kolaylaştırmak için depolarımızı nasıl organize ettiğimiz ve yönettiğimiz konusunda bazı temel standartlar (umarım, daha çok kılavuz ilkeler) oluşturmaya çalışıyor olmasıdır. Genelde bu tür bir durum için yeniden düzenlemeliyiz (ve muhtemelen geliştiricilerin global konfigürasyonlarını varsayılan olarak yeniden düzenlemelerini öneririm) önermekle ilgileniyorum, ancak buna karşı olsaydım, kesinlikle yeniden düzenlemenin neden olmadığını soruyor olurdum. t Çok büyükse, varsayılan. Bu yüzden eksik bir şey olup olmadığını merak ediyorum.
Bu sorunun bir kopyası olduğu öne sürüldü. Bu kadar çok web sitesi neden “git birleştirme” yerine “git rebase” ı tercih ediyor? ; Ancak, bu soru biraz bunun tersidir . Yeniden birleştirme yerine yeniden kazanmanın faydalarını tartışırken, bu soru yeniden kazanmaya göre birleşmenin yararlarını soruyor. Buradaki cevaplar bunu yansıtır, birleşme ve yeniden kazanmanın yararları ile ilgili sorunlara odaklanır.