ฉันกำลังทำงานในโครงการโอเพนซอร์ซบน GitHub
มันมีไดเรกทอรีย่อย / ผู้ขายที่มีสำเนาของห้องสมุดภายนอกหลายแห่ง ผู้ดูแลดั้งเดิมของโปรเจ็กต์นี้อัพเดตไดเร็กทอรีนี้ด้วยสำเนาของไลบรารีภายนอกที่ใหม่กว่าเป็นระยะ ๆ
นักพัฒนาคนหนึ่งส่งคำขอดึงด้วยความคิดที่จะเปลี่ยนนี้สำเนาโดยsubmodule คอมไพล์
และฉันกำลังพิจารณาว่ามันเป็นความคิดที่ดีหรือไม่
Git submodule ข้อดี:
- โมดูลย่อยถูกออกแบบมาโดยเฉพาะสำหรับสถานการณ์ที่คล้ายกัน
- มันลบความเป็นไปได้ของการกระทำโดยไม่ตั้งใจไปยังผู้ขายซึ่งจะถูกเขียนทับในขณะที่การปรับปรุงครั้งต่อไป
Git submodule ข้อเสีย:
- ดูเหมือนว่า submodules git จะเพิ่มความซับซ้อนจากผู้ดูแลไปยังบุคคลที่จะโคลน / ดึงโครงการ (ขั้นตอนเพิ่มเติมที่จำเป็นหลังจากที่คุณโคลนเพื่อเริ่มทำงานกับโครงการ: "git submodule init", "git submodule update"
คุณมีความคิดเห็นอย่างไรกับเรื่องนี้?
อีกหนึ่งสิ่ง. ปัญหานี้เป็นไลบรารี่ขนาดเล็กที่มีการพึ่งพาภายนอกที่ จำกัด มาก ฉันคิดว่าเครื่องมือสร้างใด ๆ จะ overkill สำหรับตอนนี้
git clone --recursive
แล้วไม่ต้องทำคำสั่ง submodule ไม่มีใครพูดถึงเรื่องอาหารอันโอชะนี้; คนส่วนใหญ่ฉันรู้ว่ามี submodules โฆษณาสิ่งนี้ใน README