본문으로 건너뛰기

Git submodule 사용하기

submodule 추가하기

git submodule add <submoduleURL> [<submodulePath>]
git commit -m "Add submodule B"
A
├── .git
├── .gitmodules
└── B
└── .git

submodule commit 변경하기

cd <submodulePath>
git switch -d <hash|branch|tag>

A 리포지토리에 변경 사항을 반영합니다.

popd
git commit -am "Update submodule B"

submodule이 있는 리포지토리 clone

git clone --recurse-submodules [<submodulePath>] <URL>
  • --recurse-submodules [<submodulePath>]: clone 후 submodule을 초기화하고 해당 데이터를 가져옵니다.

clone 때 submodule을 가져오지 못한 경우 아래 명령어를 실행하면 됩니다.

git submodule update --init --recursive [<submodulePath>]

submodule 삭제하기

git submodule deinit -f <submodulePath>
git config -f .git/config --remove-section submodule.<submodulePath>
git rm -f <submodulePath>
rm -rf .git/modules/<submodulePath>