하나의 프로젝트 안에 여러개의 프로젝트가 존재하는경우,
각각의 독립된 Repository로 관리하고, 부모 Repository에서 자식의 참조 HEAD 위치를 저장해서 관리한다.
repository는 독립 되어 있어야 하고, git submodule add 로 submodule 을 추가한다.
clone 하거나 pull 할때는 ** --recurse-submodules** 옵션을 이용하면 submodule 들을 한번에 clone 하거나 pull 할 수 있다.
구성하는 방법
Server
mkdir submodule
mkdir submodule.projectA
cd submodule
git init --bare
cd ../submodule.projectA/
git init --bare
Client
1. 부모 프로젝트 생성
git init
git remote add origin {{git repository url}}/git/submodule
git add .
git commit -m "init proj"
git push --set-upstream origin master
2. 자식 프로젝트 생성
./projectA 디렉토리가 이미 존재 하고 있으면 안됨
git submodule add -f {{git repository url}}/git/submodule.projectA ./projectA
(위 명령 - git submodule add... 을 두번 실행시켜야 됨 왜그런진 모르겠음)
cd projectA
git add .
git commit -m "init proj"
git push --set-upstream origin master
3. submodule이 추가된 부모 project를 commit 한다.
cd ..
git add .
git commit -m "add projectA"
git push
Clone 하는 방법
git clone --recurse-submodules {{git repository url}}/git/submodule
반응형
'Dev. > etc' 카테고리의 다른 글
Git 서브트리 (Subtree) (0) | 2018.12.12 |
---|---|
Redmine 설치법 (0) | 2018.11.12 |
Git 브랜치 배우기 (0) | 2014.02.21 |
Cubieboard 2(A20) 서버 세팅 (0) | 2014.02.20 |
500 OOPS: vsftpd: refusing to run with writable root inside chroot() (0) | 2014.02.18 |