git을 사용하다보면 다른 git 리포지토리를 그대로 갖다 써야되는 경우가 있습니다. 예를 들면 LLVM의 코어를 프로젝트 안에 포함시켜야할 때가 있는데요, 이때 프로젝트를 그대로 복사만 해놓으면 이후에 관리가 안됩니다.그래서 git에서는 서브모듈(submodule, =nested repository)이라는 기능을 활용하고 .gitmodules 파일로 서브모듈들을 관리하게 됩니다. Github(깃허브)에서 폴더에 화살표가 그려진 아이콘이 있고 뒤에 커밋 ID가 써있는 폴더가 있는데 이게 서브모듈을 나타내는 겁니다.예를 들면 마이크로소프트 STL은 llvm-project, vcpkg를 서브 모듈로 사용하고 있습니다. 폴더를 클릭해보면 해당되는 커밋 ID의 리포지토리가 나옵니다. $ git clone --r..