ฉันกำลังทำงานให้กับ บริษัท ที่ใช้ VSTS ในการจัดการรหัส git วิธีการ "แนะนำ" ของ Microsoft ในการผสานสาขาคือการทำ "ผสานสควอช" ซึ่งหมายความว่าการคอมมิชชันทั้งหมดสำหรับสาขานั้นจะถูกบีบให้เป็นคอมมิชชันใหม่ที่รวมการเปลี่ยนแปลงทั้งหมด
ปัญหาคือถ้าฉันทำการเปลี่ยนแปลงบางอย่างในสาขาหนึ่งสำหรับรายการค้างหนึ่งรายการทันทีต้องการเริ่มทำการเปลี่ยนแปลงในสาขาอื่นสำหรับรายการค้างอื่นและการเปลี่ยนแปลงเหล่านั้นขึ้นอยู่กับชุดการเปลี่ยนแปลงของสาขาแรก
ฉันสามารถสร้างสาขาสำหรับรายการในมือนั้นและยึดตามสาขาแรก จนถึงตอนนี้ดีมาก อย่างไรก็ตามเมื่อถึงเวลาที่จะสร้างคำขอดึงสำหรับสาขาที่สองของฉันสาขาแรกจึงถูกรวมเข้ากับต้นแบบแล้วและเนื่องจากเป็นการรวมกันเป็นสควอชจึงทำให้การตั้งค่าสถานะขัดแย้งกันมาก นี่เป็นเพราะคอมไพล์ไม่เห็นการกระทำดั้งเดิมที่สาขาที่สองมีพื้นฐานมาจากมันแค่เห็นสควอชขนาดใหญ่หนึ่งเดียวดังนั้นเพื่อที่จะรวมสาขาที่สองเข้าด้วยกันเพื่อให้เชี่ยวชาญ ด้านบนของสควอชผสานทำให้เกิดความขัดแย้งมากมาย
ดังนั้นคำถามของฉันคือมีวิธีใดบ้างที่จะหลีกเลี่ยงปัญหานี้ (นอกเหนือจากที่ไม่เคยแยกคุณลักษณะหนึ่งออกจากกันซึ่ง จำกัด เวิร์กโฟลว์ของฉัน) หรือการรวมสควอชเพียงแค่ทำลายอัลกอริทึมการรวมของคอมไพล์
feature1
กับมาสเตอร์เป็นครั้งแรกแล้วต้องการรวมในfeature2
ภายหลัง ในกรณีนั้นวิธีแรกจะไม่ทำให้เกิดข้อขัดแย้งในขณะที่คอมไพล์พยายามใช้คอมมิชชันอีกครั้งfeature1
บนคอมมิชชันที่ถูกคอมมิต