git subtree split

클라이언트랑 벡엔드가 함께 있는 레포를 분리해보자

  • git subtree split로 분리할 수 있다
terminal
1
2
# git subtree split -P {디렉터리} -b {브랜치명}
git subtree split -P server -b b-server
  • 위처럼 명령하면, b-server 브랜치가 생성되고, server 디렉터리의 내용들로 채워진다
  • 깃 히스토리도 살아있다
  • git checkout b-server ; b-server 브랜치로 체크아웃한다
  • github에서 새로운 레포를 생성한다
  • git remote add new-server-origin {~.git} ; 새로 생성한 레포를 리모트로 추가해준다
  • git push new-server-origin b-server ; 새로운 리모트로 푸쉬한다
  • git checkout main ; main 브랜치로 돌아온다
  • 독립해버린 server 디렉터리를 삭제해준다

참고