Git의 레포지토리 하위에 다른 저장소를 관리하기 위한 도구이다. 이때 상위 레포지토리를 슈퍼 프로젝트(superproject), 하위 레포지토리를 서브 모듈(submodule)이라고 부른다. (혹은 부모 저장소, 자식 저장소라고 부르기도 한다.) 서브모듈을 사용하면 특정한 Git 레포지토리를 다른 레포지토리의 하위 디렉토리로 사용할 수 있다.

실험을 위해 Main 과 Sub의 레포지토리를 만들어주자. (Main이 Sub를 받아올 repo, Sub는 서브모듈 대상)
임의의 디렉토리 파일을 만들어 안에 자료 하나를 간단히 만들어보자.
$ touch a
$ git add .
$ git commit -m "first commit"
$ git push origin main
git submodule add https://github.com/devHudi/sub-repository.git lib
[submodule "Sub"]
path = Sub
url = https://github.com/bukwon/SubModule-Test.git