Tech/Git | Github

[Git] commit 내역 보존하면서 하위 디렉토리를 다른 레포지토리로 분리하기

싱브이 2024. 4. 18. 15:10
728x90
반응형

Spring을 공부하면서 개인프로젝트를 진행한 레포지토리가 있는데 (한군데에 몰아놨음) readme도 작성하고, 프로젝트 하나를 더 크게 업데이트 시키면서 포트폴리오에 적용하고 싶어서 분리를 하기로 했다.

기본 repo 안의 구조

 

 

 

 

분리 시작

 

1. 새로운 github repository 생성 (두개 다 분리할거면 2개 생성 필요함)

나는 Todo_, Board_로 생성했다. (추후에 변경 예정)

 

2. 터미널에서 분리할 프로젝트의 기존 repo로 이동

 

3. subtree를 이용하여 옮길 폴더를 복사 : git subtree split

git subtree split -P <분리할 하위 디렉토리> -b <새로운 브랜치 이름>


# (예시) 나의 경우
git subtree split -P todo -b splitted

 

 

4. 새로운 디렉토리 생성 및 분리 

mkdir ../새로운 디렉토리 이름
cd ../새로운 디렉토리 이름

# (예시) 나의 경우
mkdir ../new_repo
cd ../new_repo/

 

5. 브랜치 풀 받기

git pull <기존 프로젝트 디렉토리 위치> <생성한 브랜치 이름>

# (예시) 나의 경우
git init
git pull ../Myproject/ splitted

 

6. 로컬 디렉토리와 원격 디렉토리 연결하기 : 원격저장소에 push 

git remote add origin <분리한 레포지토리 주소>
git push origin -u master or. main

# (예시) 나의 경우
git remote add origin https://github.com/ZzinB/Todo_.git
git push origin -u master
 

아래와 같이 Todo_가 분리되었다 !!!

 

분리된 repo

 

 

728x90
반응형