SubTree
SubTree
-
정의 : 하위 폴더 형식으로 다른 저장소의 하위 항목 혹은 전체를 현재 저장소에 병합하는 기법
-
NICKNAME
origin
: 하위 원격 저장소upstream
: 하위 원격 저장소 내역을 포함할 원격 저장소subtree
:upstream
에서 하위 저장소 내역을 저장하는 폴더
Initial Config
1
2
3
4
git clone <UPSTREAM-URL>
cd <UPSTREAM-PATH>
git remote add upstream <UPSTREAM-URL>
git remote add origin <ORIGIN-URL>
Create
1
git subtree add --prefix=<SUBTREE-PATH> <ORIGIN> <ORIGIN-BRANCH>
subtree add
: 하위 저장소<ORIGIN>
의 브랜치<ORIGIN-BRANCH>
의 내역을 저장할 상위 저장소의 폴더<SUBTREE-PATH>
를 생성함
Pull : Update Changes in Origin to Upstream
1
git subtree pull --prefix=<SUBTREE-PATH> <ORIGIN> <ORIGIN-BRANCH>
subtree pull
: 상위 저장소의 폴더<SUBTREE-PATH>
에 하위 저장소<ORIGIN>
의 브랜치<ORIGIN-BRANCH>
의 변경 사항을 병합(pull
)함
Push : Update Changes in Upstream to Origin
1
git subtree push --prefix=<SUBTREE-PATH> <ORIGIN> <ORIGIN-BRANCH>
subtree push
: 상위 저장소의 폴더<SUBTREE-PATH>
에서 직접 갱신한 내역을 하위 저장소<ORIGIN>
의 브랜치<ORIGIN-BRANCH>
에 추가함
Split
1
git subtree split --prefix=<SUBTREE-PATH> -b <NEW-BRANCH>
subtree split
: 하위 저장소와 연동되어 있는 폴더<SUBTREE-PATH>
에 관한 커밋을 추출하여 새로운 브랜치를 생성함
Reference
This post is licensed under
CC BY 4.0
by the author.