จากหน้า man บน git-merge มีหลายวิธีในการผสานที่คุณสามารถใช้ได้
แก้ไข - วิธีนี้สามารถแก้ไขได้เพียงสองหัวเท่านั้น (เช่นสาขาปัจจุบันและสาขาอื่นที่คุณดึงมา) โดยใช้อัลกอริทึมผสาน 3 ทาง มันพยายามตรวจสอบความคลุมเครือของการผสานไขว้อย่างรอบคอบและถือว่าโดยทั่วไปปลอดภัยและรวดเร็ว
recursive - วิธีนี้สามารถแก้ปัญหาสองหัวโดยใช้อัลกอริทึมการผสาน 3 ทาง เมื่อมีบรรพบุรุษร่วมกันมากกว่าหนึ่งคนที่สามารถใช้สำหรับการรวมแบบ 3 ทางมันจะสร้างต้นไม้ที่ผสานของบรรพบุรุษร่วมกันและใช้เป็นต้นไม้อ้างอิงสำหรับการผสานแบบ 3 ทาง สิ่งนี้ได้รับการรายงานว่าส่งผลให้เกิดข้อขัดแย้งในการผสานที่น้อยลงโดยไม่ทำให้เกิดการรวมที่ไม่ถูกต้องโดยการทดสอบในการรวมที่เกิดขึ้นจริงจากประวัติการพัฒนาเคอร์เนล Linux 2.6 นอกจากนี้ยังสามารถตรวจจับและจัดการการรวมที่เกี่ยวข้องกับการเปลี่ยนชื่อ นี่คือกลยุทธ์การผสานเริ่มต้นเมื่อดึงหรือรวมสาขาหนึ่ง
octopus - วิธีนี้จะช่วยแก้ไขปัญหามากกว่าสองกรณี แต่ปฏิเสธที่จะรวมที่ซับซ้อนที่ต้องการความละเอียดด้วยตนเอง มันมีความหมายหลักที่จะใช้สำหรับการรวมกลุ่มหัวข้อหัวกัน นี่คือกลยุทธ์การผสานเริ่มต้นเมื่อดึงหรือรวมสาขามากกว่าหนึ่งสาขา
ของเรา - สิ่งนี้จะช่วยแก้ไขจำนวนหัวใด ๆ แต่ผลของการผสานจะเป็นหัวสาขาปัจจุบันเสมอ มันมีไว้เพื่อใช้ในการแทนที่ประวัติศาสตร์การพัฒนาแบบเก่า ๆ ของกิ่งก้านสาขา
subtree - นี่คือกลยุทธ์แบบเรียกซ้ำที่ปรับเปลี่ยน เมื่อผสานต้นไม้ A และ B ถ้า B สอดคล้องกับต้นไม้ย่อยของ A, B จะถูกปรับก่อนเพื่อให้เข้ากับโครงสร้างต้นไม้ของ A แทนที่จะอ่านต้นไม้ในระดับเดียวกัน การปรับนี้จะกระทำกับต้นไม้บรรพบุรุษร่วมด้วย
ฉันควรระบุสิ่งที่แตกต่างจากค่าเริ่มต้นเมื่อใด สถานการณ์ใดที่ดีที่สุดสำหรับแต่ละสถานการณ์?