코딩 툴/깃-깃허브

Git submodule

코르시카 2021. 4. 14. 15:32

■ 사용방법

개별 repository 만들기

  • project-name
  • project-name-client
  • project-name-server

 

1) root-main 프로젝트 생성 / or Clone

git clone https://github.com/<GITHUB_ID>/project-name.git

2) 초기 submodule 등록

git submodule add -b master https://github.com/<GITHUB_ID>/project-name-client.git client
git submodule add -b master https://github.com/<GITHUB_ID>/project-name-server.git server

> client, server 폴더와 .gitmodules 파일이 생성

> 변경 된 내용을 root-main에 commit, push

※ remote repo 주소가 https로 되어 있는 경우에는 login에 필요한 정보를 요구할 수 있음, 자동화를 위해

Git Credential을 참고

 

 

■ 프로젝트를 받아서 사용하는 경우

1) Submodule 포함 된 경우

> submodule 초기화 및 소스 업데이트(처음에는 submodule안이 빈 폴더이다)

git submodule init && git submodule update

//한번에 가져오려면
git clone https://github.com/<GITHUB_ID>/project-name.git --recurse-submodules 사용

 

2) (1) 수행 이후

branch 명으로 프로젝트가 관리가 되고있는 원하는 branch이름으로 사용

※ 마지막 명령은, 각 sub project를 master branch로 checkout 하기 위한 것
처음 
submodule update를 통해 sub project를 받으면,
sub project는 
detached HEAD 상태로 어떤 branch에도 속하지 않는 상태이기 때문

git submodule foreach git checkout <브랜치 이름>
git submodule foreach git pull origin <브랜치 이름>

 

■ 복잡한 추가 정리

> 다음을 참조 :

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

 


참조 :

velog.io/@honux/Git-submodule-%EA%B0%84%EB%8B%A8-%EC%82%AC%EC%9A%A9%EB%B2%95-1

 

Git submodule 간단 사용법 1

깃 저장소 안에 또 다른 깃 저장소가 필요한 경우가 종종 생긴다. 이 때 사용하는 방법은 1) submodule 2) subtree 가 있다. 서브 모듈은 엄밀하게 말하면 내 저장소의 특정 커밋이 자식 저장소의 특정

velog.io

medium.com/day34/git-submodule-9f0ab0b79826

 

Git submodule 활용하기

Git submodule 활용하기

medium.com

 

반응형