Git Subtree를 통해 커밋 이력을 유지하면서 병합먼저, 병합할 상위 디렉토리인 리포지토리를 로컬로 클론합니다.
(상위에 위치시키려는 리포지토리)
git clone https://github.com/username/main-Ropository.git
예시
git clone https://github.com/vedivero/learning-notes.git병합될(하위에 종속시키려는 리포지토리) 리포지토리의 URL을 원격으로 추가합니다.
git remote add merge-source https://github.com/username/merge-source-repo.git
원격 리포지토리 목록을 확인하여 추가된 내용을 확인합니다.
예시
git remote add todo-list-app https://github.com/vedivero/todo-list-app.git
git remote -v
병합할 리포지토리인 origin
하위에 병합될 리포지토리인 todo-list-app
병합할(상위 디렉토리) 리포지토리의 데이터를 가져옵니다:
git fetch merge-sourcegit subtree 명령어를 사용해 병합될 리포지토리를 병합할 리포지토리의 특정 폴더에 병합합니다.
git subtree add --prefix=subdirectory-name merge-source main
--prefix
merge-source
main
로컬 저장소에 todo-list-app 소스 코드 폴더 추가

병합이 성공적으로 완료되었는지 확인합니다:
git log

git push origin main


git remote remove 원격저장소명
git remote remove todo-list-app