
개발자 별로 개발환경 구성이 취향을 많이 타기 때문에 주로 많이 사용하는 툴 3가지(Sourcetree, Eclipse, VS Code) 대상으로 서브모듈 추가 방법을 기록한다.
Git Tool - Submodule의 개념을 알고있고, Git Bash로 명령어를 통한 subdmodule 추가 방법을 알고 있다는 전제로 설명하겠다.
본 가이드는 Extensions Repo 루트 하위에 Authenticator Repo와 SubExtension Repo를 Submodule로 추가하는 예제를 통해 설명한다.

고급 옵션에서 서브 모듈로 재귀 체크박스를 활성화 하여 수행함
⚠️ Submodule은 커밋 해쉬 기반으로 연결되기 때문에 신규 Repository를 생성하고 Submodule로 추가하려는 거면 상위 Repo와 자식 Repo가 최초 커밋이 되어있어야 연결할 수 있음

Extensions 탭에서 저장소 > 서브 모듈추가 메뉴를 선택하여 연결하면 .gitmodules 파일이 생성됨

커밋하여 서브모듈 추가를 적용

최종 폴더 구조를 확인하면 아래 이미지와 같다.


⚠️ Eclipse에서 GitHub 인증시에는 Token 방식으로 진행해야 연결할 수 있음

Add Submodule.. 를 선택하여 로컬 Extensions 하위에 Authenticator, SubExtension 폴더명으로 각각 신규 Authenticator Repository, SubExtension Repository URL 입력하여 서브모듈 추가⚠️ Submodule은 커밋 해쉬 기반으로 연결되기 때문에 신규 Repository를 생성하고 Submodule로 추가하려는 거면 상위 Repo와 자식 Repo가 최초 커밋이 되어있어야 연결할 수 있음

.gitmodules 파일이 생성되고 커밋하여 서브모듈 추가를 적용Eclipse의 Git Repositories Window 상에서 Submodule이 추가된 것을 확인할 수 있다.


기존 Extensions Repository 체크아웃 또는 업데이트
VS Code는 Git Submodule 추가를 위한 GUI가 제공되지 않으므로 터미널 작업해야 함
중앙 하단 윈도우에서 TERMINAL 탭을 오픈
터미널 탭 우측 상단의 + 버튼을 클릭하여 Git Bash 콘솔 실행

터미널에서 Git Bash 선택 후 Authenticator, SubExtension에 대해 각각 아래 명령어 수정하여 수행
git submodule add {Git Repository URL} {Submodule Repository명}
[예시]
git submodule add https://github.com/testUser/Authenticator.git Authenticator git submodule add https://github.com/testUser/SubExtension.git SubExtension

VS Code의 좌측바의 Souce Control 메뉴에서 Submodule이 추가된 것을 확인할 수 있다.
