git submodule add -b main <https://github.com/jujeol-jujeol/>[나만의 비밀 레포지토리].git
clone한 프로젝트가 있는 경우
# 서브모듈 이니셜라이징
git submodule init
# 서브모듈 업데이트
git submodule update
# 모든 서브모듈에서 main으로 checkout 합니다.
git submodule foreach git checkout main
clone한 프로젝트가 없는 경우
git clone --recurse-submodules {project_url}
# project root에서
git submodule update --remote --merge
가장 이상적인 flow
메인, 서브 모듈에서 commit 후, push 서브 모듈부터 메인 모듈 순서로 한꺼번에 진행하는 법
# 첫 번째 방법
git submodule foreach --recursive 'git push' && git push
# 두 번째 방법 (저는 안됨)
git push --recurse-submodules=on-demand
귀찮으니까 디폴트 push 명령어에 옵션을 주어 별도의 명령어를 추가하지 않아도 check / 순서 제어할 수 있도록 하자.
# 1. push시에 항상 check하고 싶다
git config push.recurseSubmodules check
# 2. push시에 항상 서브 모듈 push
git config push.recurseSubmodules on-demand