297 words
1 minute
[Git]Submodule
Overview
01. Git Submodule
하나의 git repository안에 다른 저장소가 포함되는 것
Concept
- Git Submodule : 하나의 git repository안에 다른 저장소가 포함되는것. 여러 프로젝트에서 같은 코드를 공유하면서도 각각의 프로젝트에서 버전을 독립적으로 고정하고 싶을 때 사용. Submodule은 기본적으로 단순히 특정 커밋을 가리키는 포인터임. 상위 repository에 실제 소스가 있는 것이 아니라
.gitmodules파일과 함께 submodule의 commit SHA가 기록됨.
02. Submodule 추가방법
1. submodule 추가
git submodule add <repository> <path>2. submodule 초기화 및 업데이트
- 새로 clone할 때 submodule까지 같이 받을 경우
git clone --recurse-submodules <상위 repo URL>2. submodule 동기화
cd <submodule_path>git checkout maingit pull origin main이후 상위 repo에서 다음 실행
git add <submodule_path>git commit -m "Update submodule lib-utils"03. Submodule 관련 명령어
git submodule add <url> <path> # submodule 추가git submodule init # submodule 초기화git submodule update # 기록된 커밋으로 체크아웃git submodule update --remote # 원격 최신 브랜치로 업데이트git submodule status # 현재 submodule 상태 확인git submodule foreach 'git pull' # 모든 submodule 최신화 [Git]Submodule
https://yjinheon.netlify.app/posts/02de/git/git-submodule/