Github 여러 레포지토리를 하나로 합치기

sokkanji·2023년 3월 18일
0

Git

목록 보기
3/4
post-thumbnail

시작하기 전

여러 레포지토리들을 하나로 합쳐둘 레포지토리를 A,
A에 합치고 싶은 레포지토리를 B 라고 정해두고 작성했습니다.

1. 하나로 합쳐둘 레포지토리 주소를 복사한 후, 터미널에 아래 명령어를 입력하여 클론합니다.

Git clone [레포지토리 A 주소]

예시 :

Git clone https://github.com/sokkanji/test-A.git

2. 클론 받은 레포지토리로 이동합니다.

Cd [클론 받은 레포지토리 경로]

예시 :

Cd coding/test-A

3. 합치고 싶은 레포지토리 주소를 복사한 후, 아래 명령어를 터미널에 입력합니다.

Git subtree add —prefix=[레포지토리 B 이름] [레포지토리 B 주소] [브랜치 이름]

예시 :

Git subtree add —prefix=test-B https://github.com/sokkanji/test-B.git main

4. 아래 명령어를 통해 합친 레포지토리를 푸쉬합니다.

Git push origin HEAD:[레포지토리 A 브랜치 이름]

예시 :

Git push origin HEAD:main

오류 발생한 경우

_Working tree has modifications. Cannot add_

위와 같은 오류가 발생한 이유는 레포지토리에 커밋되지 않은 변경사항이 남아있기 때문에 발생했었습니다. 변경사항이 남아있지 않도록 커밋을 하거나, 커밋 내역에 잡히지 않게 하면 이 오류는 더이상 발생하지 않았습니다.

마무리하며

하나로 합친 레포지토리를 보면 기존 커밋 내역들 또한 전부 합쳐지고
합쳐진 레포지토리 B들을 삭제해도 기존 잔디들이 삭제되지 않습니다!

이 명령어를 통해, 레포지토리 약 25개를 1개로 합쳐져서 레포지토리 내역이 한결 깔끔해졌네요. 레포지토리 내역을 깔끔하게 관리하시고 싶다면 이 명령어를 사용해보시는 걸 추천드립니다.

0개의 댓글