Git submodule은 하나의 Git repository를 다른 것 안에 하위 디렉터리로 임베드할 수 있게 합니다 — 공유 라이브러리나 의존성을 별도의 repo로 포함하는 데 유용합니다. 강력하지만 복잡하다는 평판이 있으므로, 이를 이해하고 대안을 아는 것이 가치 있습니다.
submodule이란
SUBMODULE은 특정 COMMIT의 다른 Git repository에 대한 참조로, 자신의 repo에
하위 디렉터리로 임베드됨:
→ 부모 repo가 어느 repo, 어느 commit인지 기록(고정된 참조, 복사가 아님)
→ submodule은 자체 히스토리를 가진 자체 repo
→ 그 자체가 버전 관리되는 repo인 공유 라이브러리/컴포넌트를 포함하는 데 사용.
git submodule add <url> path/to/lib
git --recurse-submodules <url>
git submodule update --init --recursive
git submodule update --remote
