ดึงโมดูลย่อยของคอมไพล์หลังจากการโคลนโปรเจ็กต์จาก GitHub


100

ฉันมีโครงการที่ระบุโมดูลย่อยไว้ในนั้น ทุกอย่างทำงานได้ดีบนเครื่อง dev ฉันยอมรับ.gitmodulesไฟล์และดึงการผลิต อย่างไรก็ตามมันไม่ได้ดึงโมดูลย่อย

ถ้าฉันเข้าไปในไดเร็กทอรีโมดูลย่อยและโทรgit pullไปไม่มีอะไรเกิดขึ้น

วิธีใดคือวิธีที่เหมาะสมในการดึงโมดูลย่อยเหล่านั้นในโครงการใหม่

คำตอบ:


155

จากรากของ repo เพียงแค่เรียกใช้:

git submodule update --init

9
ฉันเชื่อว่าสิ่งนี้จะอัปเดตการอ้างอิงของคุณ ฉันคิดว่า S.Russel มีคำสั่งที่ถูกต้องในความคิดเห็นของเขาด้านล่าง:git pull --recurse-submodules
Spencer

39

หากคุณต้องการดึงสิ่งต่างๆสำหรับโมดูลย่อยไปยังที่เก็บโมดูลย่อยของคุณให้ใช้

git pull --recurse-submodules

แต่การดำเนินการนี้จะไม่ชำระค่าคอมมิตที่ถูกต้อง (สิ่งที่ที่เก็บหลักของคุณชี้ไปที่) ในโมดูลย่อย

หากต้องการชำระเงินที่เหมาะสมในโมดูลย่อยของคุณคุณควรอัปเดตหลังจากดึงโดยใช้

git submodule update --recursive

1
git submodule update --recursiveคือสิ่งที่ฉันต้องการหลังจากเข้าครั้งแรกgit cloneแต่ลืมไป--recursiveครั้งแรก ขอบคุณ!
mbb

10
ดูเหมือนจะไม่ได้ผลสำหรับฉัน โมดูลย่อยยังคงว่างเปล่า
CodeMonkey

@CodeMonkey เหมือนกันกับฉัน
linkerx

6
อาจจะสายเกินไปสำหรับงานปาร์ตี้ แต่สำหรับใครก็ตามที่ลงเอยที่นี่: git submodule update --init --recursiveแก้ปัญหาของฉัน
Iglesk

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.