Git-merge'deki man sayfasında, kullanabileceğiniz bir dizi birleştirme stratejileri vardır.
çözüm - Bu, 3 yönlü birleştirme algoritması kullanarak yalnızca iki başlığı (yani geçerli dal ve çektiğiniz başka bir dal) çözebilir. Çapraz-birleştirme belirsizliğini dikkatle tespit etmeye çalışır ve genellikle güvenli ve hızlı kabul edilir.
özyinelemeli - Bu, yalnızca 3 yönlü birleştirme algoritması kullanarak iki kafayı çözebilir. 3-yollu birleştirme için kullanılabilecek birden fazla ortak ata varsa, ortak ataların birleştirilmiş bir ağacı oluşturur ve bunu 3-yollu birleştirme için referans ağacı olarak kullanır. Bunun, Linux 2.6 çekirdek geliştirme geçmişinden alınan gerçek birleştirme taahhütlerinde yapılan testlerle yanlış birleşmelere neden olmadan daha az birleşme çatışmasıyla sonuçlandığı bildirilmiştir. Ayrıca bu, yeniden adlandırma içeren birleştirmeleri algılayabilir ve işleyebilir. Bu, bir kolu çekerken veya birleştirirken varsayılan birleştirme stratejisidir.
ahtapot - Bu, iki başlıklı vakayı çözer, ancak manuel çözünürlük gerektiren karmaşık birleştirme yapmayı reddeder. Öncelikle konu başlığı kafalarını bir araya getirmek için kullanılması amaçlanmıştır. Bu, birden fazla dalı çekerken veya birleştirirken varsayılan birleştirme stratejisidir.
bizimki - Bu, herhangi bir sayıda başlığı çözer, ancak birleştirme sonucu her zaman geçerli dal başıdır. Yan dalların eski gelişim tarihinin yerini almak için kullanılır.
subtree - Bu, değiştirilmiş bir özyinelemeli stratejidir. A ve B ağaçlarını birleştirirken, B A'nın bir alt ağacına karşılık gelirse, B ilk önce ağaçları aynı seviyede okumak yerine A'nın ağaç yapısına uyacak şekilde ayarlanır. Bu ayarlama aynı zamanda ortak ata ağacına da yapılır.
Ne zaman varsayılandan farklı bir şey belirtmeliyim? Hangi senaryolar en iyisidir?