본문 바로가기
IT/Github

[Github] 여러 개 리포지토리 하나로 합치기

by 백승전 2022. 4. 20.

 

서론

 

이와 같은 글을 작성하는 대부분의 사람들이 그렇듯, 저 역시 무자비하게 남발된 리포지토리의 카테고리화를 위해 시작을 하게 되었습니다.

 

지금도 그저 말하는 감자 재질인 개발자이지만, 지금보다 더 애기 시절에 기능 구현이나 작은 프로젝트 등, 조금이라도 커밋 이력을 남기고 공부한 티를 남기고 싶을 때마다 리포지토리를 생성하고 push 하니 어느덧 제 깃허브 리포지토리가 50개 가까이 되어가는 현상을 목격할 수 있었습니다.

 

따라서 돌아볼 때 이게 뭐였는지도 모르겠고, 너무 정리가 안 된 모습이 혐오스러워서 블로그처럼 카테고리로 나눌 순 없나 찾아 보다가 알아낸 정보를 공유하고자 합니다.

 

리포지토리 생성

 

리포지토리 생성

 

리포지토리 clone

 

리포지토리 HTTPS Copy

 

터미널 혹은 VSCode를 열어 복사한 리포지토리 HTTPS를 복사해 줍니다.

 

 

디렉토리 이동 명령어로 복사한 폴더 안으로 들어가도 되는데요. 저의 경우는 헷갈려서 그냥 새로 폴더를 열어줘 작업을 합니다.

 

선 커밋 & 푸쉬

 

이제 본 작업 전에 먼저 커밋 이력을 남기셔야 합니다.

 

 

바로 subtree를 이용해 리포지토리를 합치려 하면 다음과 같은 에러를 무조건 마주하실 건데요. 원인은 모르겠고 커밋이나 푸쉬 이력을 남겨줘야 정상 작동을 한다고 합니다.

 

 

그래서 저는 그냥 텍스트 파일 하나 만들어서 아무 이력이나 만들고 삭제해 줬습니다.

 

git subtree add --prefix

 

git subtree add --prefix=[저장할 폴더명] [리포지토리 HTTPS] [브랜치명]
# []는 구분하기 위해 사용했습니다.

# 아래는 제가 실제 작성한 코드입니다.
git subtree add --prefix=TestRepository https://github.com/BaikSeungJeon/Test.git main

git add -A
git commit -m "커밋명"
git push origin main

 

확인

 

 

TestSubtree 리포지토리 안에 제가 임시로 만든 Test 리포지토리가, 제가 지정해 준 TestRepository라는 이름으로 담긴 것을 확인할 수 있습니다.

 

그리고 당연히 이 모든 게 정리하려고 하는 행동이기 때문에, 리포지토리를 담았으면 기존 리포지토리는 삭제하셔도 됩니다. 삭제해도 잔디가 빵꾸나지 않습니다.

'IT > Github' 카테고리의 다른 글

[Github] 깃허브 리드미 꾸미기(Github README)  (0) 2021.09.14
[Github] 깃, 깃허브 복습 2  (2) 2021.07.12
[Github] 깃, 깃허브 복습  (0) 2021.07.09

댓글