0Pricing
Git & GitHub Professional Workflow · บทเรียน

โมโนรีโพและโมดูลย่อยของ Git

เรียนรู้ข้อแลกเปลี่ยนระหว่างโมโนรีโพกับการตั้งค่าหลายคลังเก็บ และวิธีที่โมดูลย่อยของ Git ฝังคลังเก็บหนึ่งไว้ภายในอีกคลังเก็บหนึ่ง

โมโนรีโพและโมดูลย่อยของ Git เป็นบทเรียน Git & GitHub Professional Workflow ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Git & GitHub Professional Workflow และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Git & GitHub Professional Workflow มีบทเรียนทั้งหมด 4 บทเรียน

โมโนรีโพกับหลายรีโพ

โมโนรีโพจัดเก็บหลายโครงการไว้ในรีโพซิทอรีเดียว ส่วนโครงสร้างแบบหลายรีโพจะแยกแต่ละโครงการไว้ในรีโพซิทอรีของตนเอง ทั้งสองรูปแบบพบได้ทั่วไปในระบบขนาดใหญ่

เหตุใดทีมจึงเลือกใช้โมโนรีโพ

โมโนรีโพทำให้คุณสามารถ:

  • แบ่งปันโค้ดระหว่างโครงการ
  • ปรับโครงสร้างโค้ดข้ามขอบเขตได้ในครั้งเดียว
  • ใช้ระบบผสานรวมอย่างต่อเนื่องและรูปแบบการกำหนดรุ่นแบบเดียวกัน

ความท้าทายของโมโนรีโพ

โมโนรีโพขนาดใหญ่อาจเติบโตจนมีขนาดมาก ทำให้การโคลนและการตรวจสอบอัตโนมัติช้าลง เครื่องมืออย่างการดึงข้อมูลเฉพาะส่วนและแคชการสร้างช่วยจัดการปัญหานี้ได้

ซับโมดูลคืออะไร

ซับโมดูล คือที่เก็บข้อมูลระบบควบคุมเวอร์ชันแยกต่างหากที่ฝังอยู่ภายในที่เก็บข้อมูลอีกแห่ง ณ คอมมิตหนึ่งโดยเฉพาะ ที่เก็บข้อมูลภายนอกจะติดตามว่าควรใช้คอมมิตใดจากที่เก็บข้อมูลภายใน

การเพิ่มซับโมดูล

ฝังที่เก็บข้อมูลภายนอกไว้ที่เส้นทางหนึ่งด้วย git submodule add

git submodule add https://github.com/org/shared-lib libs/shared

ไฟล์การตั้งค่าซับโมดูล

ระบบควบคุมเวอร์ชันจะบันทึกเส้นทางและที่อยู่ของแต่ละซับโมดูลไว้ในไฟล์ .gitmodules ที่ติดตามอยู่ ณ รากของที่เก็บข้อมูล

[submodule 'libs/shared']
  path = libs/shared
  url = https://github.com/org/shared-lib

การโคลนพร้อมซับโมดูล

การโคลนแบบปกติจะปล่อยโฟลเดอร์ซับโมดูลให้ว่างเปล่า ให้ใช้แฟล็กแบบเรียกซ้ำเพื่อดึงซับโมดูลมาด้วย

git clone --recurse-submodules https://github.com/org/app

การเริ่มต้นซับโมดูลที่มีอยู่

หากคุณโคลนที่เก็บข้อมูลมาแล้ว ให้ดึงเนื้อหาของซับโมดูลด้วยการเริ่มต้นและอัปเดต

git submodule update --init --recursive

การอัปเดตซับโมดูล

ซับโมดูลจะถูกตรึงไว้กับคอมมิตหนึ่ง หากต้องการเลื่อนไปยังรุ่นล่าสุด ให้อัปเดตภายในซับโมดูล แล้วคอมมิตตัวชี้ใหม่ไว้ในที่เก็บข้อมูลหลัก

git submodule update --remote libs/shared
git add libs/shared
git commit -m 'Bump shared lib'

ซับโมดูลเทียบกับซับทรี

ซับทรีของระบบควบคุมเวอร์ชัน เป็นทางเลือกที่ผสานเนื้อหาของที่เก็บข้อมูลอีกแห่งเข้ามาโดยตรง ทำให้ไม่ต้องจัดการกับความซับซ้อนของตัวชี้ที่ตรึงไว้ แต่จะสูญเสียการแยกส่วนที่ชัดเจน

การเลือกแนวทาง

ใช้โมโนเรโปสำหรับโครงการที่เชื่อมโยงกันอย่างแน่นแฟ้น ใช้ซับโมดูลเพื่อฝังไลบรารีที่ใช้ร่วมกันแต่จัดการรุ่นแยกกัน และใช้หลายที่เก็บข้อมูลเมื่อแต่ละทีมทำงานได้อย่างเป็นอิสระเต็มที่

ตรวจสอบความเข้าใจ

ทดสอบความเข้าใจของคุณเกี่ยวกับโมโนเรโปและซับโมดูล

ทบทวน

คุณได้เรียนรู้เกี่ยวกับโมโนเรโปและซับโมดูลดังนี้:

  • โมโนเรโปรวมหลายโครงการไว้ที่ศูนย์กลาง ส่วนหลายที่เก็บข้อมูลจะแยกโครงการออกจากกัน
  • ซับโมดูลฝังที่เก็บข้อมูลที่ตรึงไว้กับคอมมิตหนึ่งผ่าน .gitmodules
  • โคลนด้วย --recurse-submodules
  • ซับทรีเป็นอีกแนวทางหนึ่งสำหรับการฝังที่เก็บข้อมูล

คำถามที่พบบ่อย

บทเรียน “โมโนรีโพและโมดูลย่อยของ Git” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “โมโนรีโพและโมดูลย่อยของ Git” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Git & GitHub Professional Workflow ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Git & GitHub Professional Workflow มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “โมโนรีโพและโมดูลย่อยของ Git”

เรียนรู้ข้อแลกเปลี่ยนระหว่างโมโนรีโพกับการตั้งค่าหลายคลังเก็บ และวิธีที่โมดูลย่อยของ Git ฝังคลังเก็บหนึ่งไว้ภายในอีกคลังเก็บหนึ่ง คุณปฏิบัติ Git & GitHub Professional Workflow ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Git & GitHub Professional Workflow หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Git & GitHub Professional Workflow บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน

บทเรียน “โมโนรีโพและโมดูลย่อยของ Git” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Git & GitHub Professional Workflow นี้ได้ไหม

ได้ บทเรียน Git & GitHub Professional Workflow ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. Git ใน IDE และเครื่องมือพัฒนา
  2. โซลูชัน Git ระดับองค์กร
  3. การปรับขนาด Git สำหรับทีมขนาดใหญ่
  4. โมโนรีโพและโมดูลย่อยของ Git
← กลับไปที่ Git & GitHub Professional Workflow