ฉันใช้ repo Git ของฉันในแบบจำลอง Git branching ที่ประสบความสำเร็จและสงสัยว่าจะเกิดอะไรขึ้นถ้าคุณมีสถานการณ์นี้:
สมมติว่าฉันกำลังพัฒนาบนฟีเจอร์สองสาขา A และ B และ B ต้องใช้รหัสจาก A. โหนด X แนะนำข้อผิดพลาดในฟีเจอร์ A ซึ่งส่งผลกระทบต่อสาขา B แต่ไม่พบที่โหนด Y ที่ผสานคุณสมบัติ A และ B และ ทำการทดสอบก่อนที่จะแตกแขนงออกไปอีกครั้งและทำงานในการทำซ้ำครั้งถัดไป
เป็นผลให้ข้อผิดพลาดที่พบในโหนด Z โดยคนที่ทำงานเกี่ยวกับคุณสมบัติ B ในขั้นตอนนี้ก็ตัดสินใจว่าจำเป็นต้องมีการแก้ไขข้อบกพร่อง การแก้ไขนี้ควรนำไปใช้กับฟีเจอร์ทั้งสองเนื่องจากผู้ที่ทำงานในฟีเจอร์ A ต้องมีการแก้ไขบั๊กเนื่องจากเป็นส่วนหนึ่งของฟีเจอร์
ควรจะสร้างสาขา bugfix จากคุณสมบัติ A ล่าสุดหรือไม่ (รวมเป็นหนึ่งจากโหนด Y) จากนั้นผสานกับคุณสมบัติ A หลังจากนั้นฟีเจอร์ทั้งสองจะถูกรวมเข้ากับการพัฒนาอีกครั้งและทดสอบก่อนที่จะแตกแขนงออก?
ปัญหานี้คือมันต้องการให้ทั้งสองสาขารวมเพื่อแก้ไขปัญหา เนื่องจากฟีเจอร์ B ไม่ได้เป็นรหัสแบบสัมผัสในฟีเจอร์ A, มีวิธีในการเปลี่ยนประวัติที่โหนด Y โดยการใช้การแก้ไขและยังช่วยให้ฟีเจอร์สาขา B ยังคงไม่ได้ถูกแยกจากกัน แต่มีรหัสคงที่จากฟีเจอร์ A หรือไม่?
มีความเกี่ยวข้องเล็กน้อย: Git bug branch Convention