Skip to content

Submodules

Git Submodules คือฟีเจอร์ที่ให้เรานำ repository อื่นมาแทรกในโปรเจกต์ของเราได้ เหมาะกับการ reuse code หรือใช้ library ภายนอกแบบแยกอิสระ เช่น มีโปรเจกต์หลักกับโปรเจกต์ย่อยที่ต้อง sync กัน

ใช้เมื่อไหร่?

  • ต้องการดึง repo อื่นมาเป็นส่วนหนึ่งของโปรเจกต์ (เช่น library, component)
  • ต้องการให้แต่ละส่วนแยกประวัติและพัฒนาอิสระ

ตัวอย่างการใช้งาน

เพิ่ม submodule

bash
git submodule add https://github.com/username/library.git libs/library

clone repo ที่มี submodule

bash
git clone --recurse-submodules <repo-url>

หรือ clone ปกติแล้วตามด้วย

bash
git submodule update --init --recursive

อัปเดต submodule ให้เป็นเวอร์ชันล่าสุด

bash
git submodule update --remote

ตัวอย่างสถานการณ์จริง

"มีโปรเจกต์หลักกับโปรเจกต์ UI ที่แยกกันพัฒนา ใช้ submodule เชื่อม repo ทั้งสองให้ sync กันง่ายขึ้น"


Submodules เหมาะกับงานที่ต้องการแยก repository แต่ยังคงเชื่อมโยงกัน