본문 바로가기
coding/git

[Git] Submodule 서브모듈 사용하기

by 코딩희송 2021. 4. 20.

왜씀?

프로젝트를 수행할 때 다른 프로젝트를 함께 사용해야 하는 경우.

함께 사용할 다른 프로젝트는 외부에서 개발한 라이브러리, 내부 여러 프로젝트에서 공토응로 사용할 라이브러리일 수 있을 때 자주 생기는 이슈가 두 프로젝트를 서로 별개로 다루면서도 그 중 하나를 다른 하나 안에서 사용할 수 있어야한다는 것이다.

정확히 뭔데?

Git 저장소 안에 다른 Git 저장소를 디렉토리로 분리해 넣는 것.

다른 독립된 Git 저장소(Repository)를 Clone하여 내 Git 저장소 안에 포함할 수 있고 각 저장소의 커밋은 독립적으로 관리한다.

서브모듈 시작하기

$ git submodule add https://gitlab.com/aaa/aaa1

git submodule add {url}: 작업할 Git 저장소에 준비된 리모트 Git 저장소를 서브모듈로 추가.

여기 까지 하면 .gitmodules파일이 만들어진다. 이 파일은 서브디렉토리와 하위 프로젝트 URL의 매핑 정보를 담은 설정파일이다.

[submodule "aaa1"]
    path = aaa1
    url = https://gitlab.com/aaa/aaa1

서브모듈 포함한 프로젝트 Clone

$ git submodule init
$ git submoudle update

git submoudle init : 서브모듈 정보를 기반으로 로컬 환경설정 파일이 준비 됨. (비어있음)

git submodule update : 리모트 저장소에서 데이터를 가져오고 서브모듈을 포함한 프로젝트의 현재 스냅샷에서 Checkout 해야 할 커밋 정보를 가져와서 서브모듈 프로젝트에 대한 Checkout을 함.

서브모듈 업데이트

$ git submodule update --remote

위 명령어를 실행하면 Git이 알아서 서브모듈 프로젝트를 Fetch하고 업데이트한다.

'coding > git' 카테고리의 다른 글

gqg로 git commit 하기  (0) 2022.02.08

댓글