Git Submodule คืออะไร?
Git Submodule ช่วยให้คุณสามารถรวม Repository อื่นเข้าไปในโปรเจ็กต์ของคุณ โดยยังคงเป็น Git Repository อิสระ ซึ่งเป็นเครื่องมือที่มีประโยชน์เมื่อต้องการจัดการ Dependencies ที่เป็น Git Repository โดยไม่ต้องทำ Copy-Paste Code การใช้ Submodule ช่วยให้สามารถอัปเดตแต่ละ Module ได้อย่างอิสระ และติดตามเวอร์ชันของแต่ละ Module ได้ ซึ่งมีประโยชน์มากในการพัฒนา Application บน Cloud VPS ของ ผู้ให้บริการโฮสติ้ง
ใช้งาน Submodule เมื่อไร?
ก่อนตัดสินใจใช้ Submodule ให้พิจารณาสถานการณ์เหล่านี้
- ใช้ Shared Library จากโปรเจ็กต์อื่นในองค์กร
- บริหารจัดการ Dependencies ที่เป็น Git Repository (เช่น Custom Plugins หรือ Frameworks)
- ติดตามเวอร์ชันของ External Code อย่างชัดเจน
- แบ่งปันส่วนของ Code กับหลาย Projects
- ลดขนาดของ Repository หลักโดยการแยก Components ออกมา
เพิ่ม Submodule
# เพิ่ม Submodule พื้นฐาน
git submodule add https://github.com/user/shared-lib.git libs/shared-lib
# เพิ่ม Submodule พร้อม Branch ที่กำหนด
git submodule add -b main https://github.com/user/shared-lib.git libs/shared-lib
# เพิ่ม Submodule โดยใช้ SSH
git submodule add [email protected]:user/shared-lib.git libs/shared-lib
คำสั่งนี้จะสร้างไฟล์ .gitmodules และเพิ่ม Submodule เข้าในโปรเจ็กต์ โดยทำการสร้างไฟล์นี้ให้ Commit ไปด้วย
