7
ฉันจะจัดการความขัดแย้งกับโมดูลย่อย git ได้อย่างไร
ฉันมี superproject คอมไพล์ที่อ้างถึงโมดูลย่อยหลายโมดูลและฉันกำลังพยายามล็อกขั้นตอนการทำงานเพื่อให้สมาชิกโปรเจ็กต์ที่เหลือของฉันทำงานได้ สำหรับคำถามนี้ช่วยบอก superproject ของฉันเรียกว่าsuperyและ submodule subbyที่เรียกว่า (จากนั้นเป็นการลดความซับซ้อนของสิ่งที่ฉันกำลังพยายามทำ ... ฉันไม่ได้ใช้กิ่งก้านสำหรับเวอร์ชันจริงๆ แต่ฉันคิดว่ามันจะง่ายที่สุดในการจัดวางเป็นคำถาม) สาขาหลักของฉันsuperyมีแท็กv1.0ของโครงการ git ที่subbyอ้างถึงเป็นโมดูลย่อย สาขาของsuperyเรียกone.oneและเปลี่ยนการอ้างอิงของ submodule ที่จะชี้ไปที่แท็กของv1.1subby ฉันสามารถทำงานในแต่ละสาขาเหล่านี้ได้โดยไม่มีข้อติดขัด แต่ถ้าฉันพยายามอัปเดตone.oneสาขาด้วยการเปลี่ยนแปลงจากmasterสาขาฉันได้รับความขัดแย้งบางอย่างและฉันไม่สามารถแก้ไขได้อย่างไร โดยทั่วไปหลังจากทำงานgit pull . masterในsubbyสาขาไประยะหนึ่งดูเหมือนว่าจะสร้างโมดูลย่อยเพิ่มเติม ก่อนที่จะดึง / รวมฉันได้รับคำตอบที่ต้องการgit submoduleจากone.oneสาขา: $ git checkout master $ git submodule qw3rty...321e subby (v1.0) $ git checkout one.one $ git submodule asdfgh...456d subby (v1.1) แต่หลังจากดึงมันจะเพิ่มโมดูลย่อยเพิ่มเติมเมื่อฉันเรียกใช้git submodule: …