[Git] Submodule 추가
Git에서 하나의 프로젝트 내에 또 다른 프로젝트의 소스를 포함해야 할 때가 종종 발생한다. 만약 해당 프로젝트의 디렉토리를 그대로 포함시키려고 하면 git에서 error log를 발생시킨다. 이 때 필요한 기능이 submodule 개념이다.
Submodule 추가
우선 submodule을 추가하는 명령어는 다음과 같다.
# git submodule add [repository ULR] [path]
이렇게 submodule을 추가하게 되면 .gitmodule
파일과 .git/config
내에 기록이 된다.
# .gitmodule [submodule "test_repo"] path = test_repo url = https://github.com/shumin215/test_repo.git branch = master
# .git/config [submodule "test_repo"] url = https://github.com/shumin215/test_repo.git
Submodule Checkout
만약 submodule을 만약 처음 checkout 하고 싶을 때는 다음과 같이 수행 가능하다.
# git submodule update --init --recursive
Submodule Update
만약 submodule local source를 repository의 상태로 업데이트 하고 싶을 때 다음 명령어로 수행 가능하다. 기존 checkout 명령어에서 --init
만 빼고 하면 된다.
# git submodule update --recursive
Clone 시 Submodule 함께 받기
만약 repository clone 시 해당 repository 내 submodule이 존재 할 때, 모든 submodule에 대해 clone하는 명령어는 다음과 같다.
# git clone --recurse-submodules [submodule repository]
Reference
- https://yztech.tistory.com/95