Git Submodule 연결 가이드(Sourcetree, Eclipse, VS Code)

Decalin·2025년 5월 29일

개요

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

본 가이드는 Extensions Repo 루트 하위에 Authenticator Repo와 SubExtension Repo를 Submodule로 추가하는 예제를 통해 설명한다.

Sourcetree

  1. 기존 Extensions Repository 체크아웃 또는 업데이트(recursive 재귀 옵션 사용)
    신규 체크아웃의 경우 고급 옵션에서 서브 모듈로 재귀 체크박스를 활성화 하여 수행함
  1. 로컬 Extensions 하위에 신규 Authenticator Repository, SubExtension Repository 체크아웃

    ⚠️ Submodule은 커밋 해쉬 기반으로 연결되기 때문에 신규 Repository를 생성하고 Submodule로 추가하려는 거면 상위 Repo와 자식 Repo가 최초 커밋이 되어있어야 연결할 수 있음

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

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

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

Eclipse

  1. 기존 Extensions Repository 체크아웃 또는 업데이트
    CloneURI 체크박스를 활성화 해서 Extensions Repository 클론 시 서브 모듈 재귀 옵션 선택

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

  1. 상위 Repo인 Extensions에서 우클릭 후 Add Submodule.. 를 선택하여 로컬 Extensions 하위에 Authenticator, SubExtension 폴더명으로 각각 신규 Authenticator Repository, SubExtension Repository URL 입력하여 서브모듈 추가

⚠️ Submodule은 커밋 해쉬 기반으로 연결되기 때문에 신규 Repository를 생성하고 Submodule로 추가하려는 거면 상위 Repo와 자식 Repo가 최초 커밋이 되어있어야 연결할 수 있음

  1. .gitmodules 파일이 생성되고 커밋하여 서브모듈 추가를 적용

Eclipse의 Git Repositories Window 상에서 Submodule이 추가된 것을 확인할 수 있다.

VS Code, Visual Studio Code

  1. 기존 Extensions Repository 체크아웃 또는 업데이트

  2. VS Code는 Git Submodule 추가를 위한 GUI가 제공되지 않으므로 터미널 작업해야 함
    중앙 하단 윈도우에서 TERMINAL 탭을 오픈

  3. 터미널 탭 우측 상단의 + 버튼을 클릭하여 Git Bash 콘솔 실행

  4. 터미널에서 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

  1. 명령어 수행 후 커밋하여 .gitmodules 파일 생성된 후의 서브모듈 추가 내용 반영

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

profile
c10f18 벨로그에서 이사가는중

0개의 댓글