개발하는 자몽

[Git] 서브 모듈을 포함한 레포지토리 클론하기 본문

Git

[Git] 서브 모듈을 포함한 레포지토리 클론하기

jaamong 2024. 2. 9. 09:38

서브 모듈을 포함해서 레포지토리를 클론 하는 과정은 총 세 과정을 거친다.

  1. 서브 모듈을 포함하고 있는 프로젝트(main repository) 클론 하기
  2. 서브 모듈 초기화하기(git init)
  3. 서브 모듈 업데이트하기

 

1. 프로젝트 클론

서브 모듈을 포함하고 있는 프로젝트를 클론 한다.

$ git clong <remote-repo-url>

 

2. 서브 모듈 초기화

초기화 명령어를 실행하기 전에 클론 한 프로젝트 디렉토리(main project root folder)로 이동한다.

$ cd <cloned-repo-directory>
$ git submodule init

Notice `init`을 하지 않으면 서브 모듈 폴더는 빈 상태로 있다.

 

3. 서브 모듈 업데이트

초기화를 했다면, 같은 위치에서 업데이트를 진행한다. 이 명령어를 이용하여 서브 모듈을 클론해온다.

$ git submodule update

 

번외.

2~3번 과정을 한 번에 하는 방법도 있다!

$ git submodule update --init

 

 

다른 방법

Git 버전에 따라서 다른 방법을 사용할 수 있다. 1.6.5 버전 이상이라면, 아래 한 줄로 가능하다.

$ git clone --recursive <remote-repo-url>

위 명령어를 사용하면 해당 저장소가 참조하는 서브 모듈을 같이 클론 한다. 또한 서브 모듈을 포함하는 서브 모듈도 같이 처리된다.

 

2.13 버전 이상이라면, `--recursive` 대신 다른 명령어를 사용할 수 있다.

$ git clone --recurse-submodules <remote-repo-url>

 

 

관련하여 잘 정리된 글을 추천하며 마무리..!

https://pinedance.github.io/blog/2019/05/28/Git-Submodule

 

 

 

Comments