Merge Ne Demek?
Yayın: · Son güncelleme:
Merge Ne Demek? Kısaca
Merge, Git'te iki ayrı daldaki değişikliklerin tek bir dalda birleştirilmesidir. Genelde bir özellik dalında tamamlanan iş, merge ile ana dala alınır ve iki geçmiş tek hatta toplanır.

Merge ne demek?
Merge, "birleştirmek" anlamına gelir. Git'te bir daldaki commit'leri başka bir dala aktarma işlemidir. En sık kullanım, özellik dalını main dalına almaktır.
Komut basittir: hedef dala geçip git merge ozellik-dali yazarsınız. Git iki dalın ortak noktasını bulur ve farkları birleştirir. Merge nedir diye soranlara en kısa cevap da budur: ayrı yürüyen iki işi tek hatta toplamak.
İki dal birleşince ne olur?
İki tür sonuç sık görülür. Ana dalda siz ayrıldıktan sonra hiç değişiklik olmadıysa Git yalnız işaretçiyi ileri kaydırır; buna fast-forward denir. İki dalda da yeni commit varsa Git, ikisini bağlayan ayrı bir merge commit oluşturur.
Örneğin siz iletisim-formu dalında çalışırken bir arkadaşınız ana dala yeni bir menü ekledi. Merge yaptığınızda hem menü hem form ana dalda yer alır. Aynı dosyanın aynı satırını ikiniz de değiştirdiyseniz Git karar veremez ve merge conflict çıkar.
Birleştirme öncesi kontrol listesi
Birleştirmeden önce hedef dalı güncelleyin, yani son değişiklikleri çekin. Bu, sürpriz çakışmaları azaltır.
Ekip projelerinde doğrudan merge yerine pull request açmak daha güvenlidir. Kod önce incelenir, testler çalışır, sonra birleştirilir. Merge sonrası projeyi bir kez çalıştırıp kontrol etmek de iyi bir alışkanlıktır.
Sıkça Sorulan Sorular
Merge ile rebase arasındaki fark nedir?
Merge iki geçmişi koruyarak birleştirir ve gerekirse ayrı bir birleştirme kaydı ekler. Rebase ise sizin commit'lerinizi hedef dalın ucuna taşıyarak düz bir geçmiş oluşturur.
Yapılmış bir merge geri alınabilir mi?
Evet. Henüz paylaşılmadıysa yerel olarak geri alınabilir. Uzak depoya gönderildiyse geçmişi bozmamak için genelde git revert ile tersine çeviren yeni bir commit oluşturulur.