- คุณมีโครงการ - เรียกมันว่าMyWebAppที่มี repo github อยู่แล้ว
- คุณต้องการใช้ที่เก็บ jqueryในโครงการของคุณ
- คุณต้องการที่จะดึง repo jQuery ลงในโครงการของคุณเป็นsubmodule
Submodules นั้นง่ายต่อการอ้างอิงและใช้งาน สมมติว่าคุณมี MyWebApp ตั้งค่าเป็น repo จากปัญหา terminal คำสั่งเหล่านี้:
cd MyWebApp
git submodule add git://github.com/jquery/jquery.git externals/jquery
สิ่งนี้จะสร้างไดเรกทอรีชื่อexternals/jquery
* และเชื่อมโยงไปยังที่เก็บ jquery github ตอนนี้เราแค่ต้องเริ่มต้น submodule และโคลนรหัส:
git submodule update --init --recursive
ตอนนี้คุณควรมีรหัสล่าสุดทั้งหมดในโคลน submodule หาก jquery repo เปลี่ยนแปลงและคุณต้องการดึงรหัสล่าสุดลงมาให้ออกsubmodule update
คำสั่งอีกครั้ง โปรดทราบ: โดยปกติฉันมีที่เก็บข้อมูลภายนอกจำนวนมากในโครงการของฉันดังนั้นฉันมักจะจัดกลุ่ม repos ภายใต้ไดเรกทอรี "externals"
หนังสือPro Gitออนไลน์มีข้อมูลที่ดีเกี่ยวกับ submodules (และ git โดยทั่วไป) นำเสนอในรูปแบบที่อ่านง่าย อีกวิธีหนึ่งคือgit help submodule
จะให้ข้อมูลที่ดี หรือดูที่บทช่วยสอน Git Submoduleบน git wiki
ฉันสังเกตเห็นรายการบล็อกนี้ซึ่งพูดถึงเกี่ยวกับ submodules และเปรียบเทียบกับ svn's subversion: กลไก externals: http://speirs.org/blog/2009/5/11/understanding-git-submodules.html
* ตามแนวทางปฏิบัติที่ดีที่สุดคุณควรวางซับไดเซ็ตไว้ในไดเรกทอรีของตัวเองเช่น Externals ถ้าคุณทำไม่ได้ไดเรกทอรีโปรเจ็กต์รูทของคุณจะกลายเป็นรกมากอย่างรวดเร็ว