ฉันมี superproject คอมไพล์ที่อ้างถึงโมดูลย่อยหลายโมดูลและฉันกำลังพยายามล็อกขั้นตอนการทำงานเพื่อให้สมาชิกโปรเจ็กต์ที่เหลือของฉันทำงานได้
สำหรับคำถามนี้ช่วยบอก superproject ของฉันเรียกว่าsupery
และ submodule subby
ที่เรียกว่า (จากนั้นเป็นการลดความซับซ้อนของสิ่งที่ฉันกำลังพยายามทำ ... ฉันไม่ได้ใช้กิ่งก้านสำหรับเวอร์ชันจริงๆ แต่ฉันคิดว่ามันจะง่ายที่สุดในการจัดวางเป็นคำถาม)
สาขาหลักของฉันsupery
มีแท็กv1.0
ของโครงการ git ที่subby
อ้างถึงเป็นโมดูลย่อย สาขาของsupery
เรียกone.one
และเปลี่ยนการอ้างอิงของ submodule ที่จะชี้ไปที่แท็กของv1.1
subby
ฉันสามารถทำงานในแต่ละสาขาเหล่านี้ได้โดยไม่มีข้อติดขัด แต่ถ้าฉันพยายามอัปเดต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
:
$ git pull . master
Auto-merged schema
CONFLICT (submodule): Merge conflict in subby - needs qu3rty...321e
Automatic merge failed; fix conflicts and then commit the results.
$ git submodule
qw3rty...321e subby (v1.0)
asdfgh...456d subby (v1.1)
zxcvbn...7890 subby (v1.1~1)
ฉันจะลบ / ละเว้นการอ้างอิงโมดูลย่อยที่ไม่ต้องการและยอมรับข้อขัดแย้งและการเปลี่ยนแปลงของฉันได้อย่างไร หรือมีพารามิเตอร์ที่ฉันสามารถใช้กับต้นฉบับของฉันgit pull
ที่จะเพิกเฉยต่อโมดูลย่อยของฉันได้หรือไม่