본문 바로가기
프로젝트 개발 기록/Git

[Git] 한 repository 여러 프로젝트 월세주기 🏡

by HelloJudy 2023. 4. 24.

🐰 주디 요구사항

많은 사람들의 (👤1명). 뜨거운 관심 속에

스프링 놀이터를 만들고만 주디..

기존에 각각의 레포를 만들어서 여러 실습도 진행해 보고 강의 코드도 정리하고 있었다.

갈수록 많아지는 레포는 찾아보기 힘들고 놀이터도 만들었겠다. 놀이터에서 놀아줘야지.

주디는 아래의 요구사항을 가지고 있다.

 

  • 빈 레포로 기존 깃에 있는 레포를 옮기고 싶다.
  • 당연히 소중한 커밋 기록도 들고 가고 싶다.
  • 한 레포에 여러 프로젝트를 관리하고 싶다.

자 그러면 지금 이사가보자!! 뚠뚠~ 🐜

 


0. 초기 세팅

1) 부모 repository

 

부모 역할을 할 레포지토리를 만든다.

 

2) 자식 repository

 

자식 역할을 할 레포지토리를 생성하거나 선택한다.

 

1. 부모 repository를 로컬에 clone 한다.

$ git clone <부모 repository 주소>
$ cd 폴더명

 

 

2.  subtree로 자식 repository 추가하기.

$ git subtree add --prefix=<부모 레포에 저장할 폴더명> <자식 레포 주소> <branch 명>

 

* 이때 <부모 레포에 저장할 폴더명>은 보일 폴더명을 지정하는 것이다.

 

* 또한 이때  Cannot add. 라면서 서브트리가 추가되지 않을 수 있다.

이때는 다음과 같이 해결하자.

 

$ git commit --allow-empty -n -m "커밋메시지"

 

3. git push

$ git push origin main

그리고 푸쉬하면 원하는 대로 쉽게 옮길 수 있다.

 

 

 

이렇게 자식 레포에 있는 코드와 커밋을 옮겨왔다! 이사완!

 

4. 그 이후

$ git clone 부모 리포지토리 주소
$ cd 부모 리포지토리 이름
$ git subtree add --prefix=<부모 레포에 저장할 폴더명> <자식 레포 주소> <branch 명>
$ git commit -m "커밋 메시지"
$ git push origin main

 

 


📌 Reference

반응형

댓글