본문 바로가기
GIT

GIT 레퍼지토리 병합

by 시니성 2023. 7. 27.

두 개의 Git 레포지토리 병합하기

두 개의 서로 다른 Git 레포지토리를 병합하는 경우는 매우 흔치 않지만, 프로젝트가 합쳐지거나 큰 리포지토리를 작은 리포지토리로 분리하려는 경우에는 유용할 수 있습니다.

저의 경우 부트 캠프 과정에서 진행한 메인 프로젝트 깃 레포지토리 구성시 Java 코드와 Java Script 코드의 레퍼지토리를 분리 하였기 때문에 다시 합치는 과정을 진행하였습니다.

 

아래는 두 개의 Git 레포지토리 (레포지토리 A, 레포지토리 B라고 가정)를 병합하는 방법입니다.

레포지토리 B에 레포지토리 A를 가져와 병합는 과정입니다:

# 먼저 원본 레포지토리 (레포지토리 B)를 로컬 시스템에 복제합니다.
git clone https://github.com/user/repository_B.git

# 복제한 레포지토리 디렉토리로 이동합니다.
cd repository_B

# 이제 병합하려는 대상 레포지토리 (레포지토리 A)를 리모트 레포지토리로 추가합니다.
git remote add repo_A https://github.com/user/repository_A.git

# 레포지토리 A의 변경 사항을 가져옵니다.
git fetch repo_A

# 병합할 브랜치를 확인합니다. 
git branch -a

# 레포지토리 A의 master 브랜치 (또는 병합하려는 브랜치)와 레포지토리 B의 master 브랜치를 병합합니다.
# 병합하려는 레포지토리가 서로 관련이 없는 경우 '--allow-unrelated-histories' 옵션을 추가합니다.
git merge repo_A/master --allow-unrelated-histories

# 이제 병합한 레포지토리를 원격 레포지토리에 푸시합니다.
git push origin master

 

위 같을 과정을 통해 서로 다른 두 레퍼지토리를 병합할 수 있고, 깃 히스토리 또한 보존할 수 있게 됩니다.