Git,  Programming

[Git] Submodule 추가

Git에서 하나의 프로젝트 내에 또 다른 프로젝트의 소스를 포함해야 할 때가 종종 발생한다. 만약 해당 프로젝트의 디렉토리를 그대로 포함시키려고 하면 git에서 error log를 발생시킨다. 이 때 필요한 기능이 submodule 개념이다.

Submodule 추가

우선 submodule을 추가하는 명령어는 다음과 같다.

# git submodule add [repository ULR] [path]

이렇게 submodule을 추가하게 되면 .gitmodule 파일과 .git/config 내에 기록이 된다.

# .gitmodule
[submodule "test_repo"]
    path = test_repo
    url = https://github.com/shumin215/test_repo.git
    branch = master
# .git/config
[submodule "test_repo"]
    url = https://github.com/shumin215/test_repo.git

Submodule Checkout

만약 submodule을 만약 처음 checkout 하고 싶을 때는 다음과 같이 수행 가능하다.

# git submodule update --init --recursive

Submodule Update

만약 submodule local source를 repository의 상태로 업데이트 하고 싶을 때 다음 명령어로 수행 가능하다. 기존 checkout 명령어에서 --init만 빼고 하면 된다.

# git submodule update --recursive

Clone 시 Submodule 함께 받기

만약 repository clone 시 해당 repository 내 submodule이 존재 할 때, 모든 submodule에 대해 clone하는 명령어는 다음과 같다.

# git clone --recurse-submodules [submodule repository]

Reference

  1. https://yztech.tistory.com/95

Leave a Reply

Your email address will not be published. Required fields are marked *