Git 병합 리포지토리
다양한 팀원들과 팀마다 별도의 리포지토리를 가지고 프로젝트를 진행하다 보면, 어느 시점에 이러한 개별 리포지토리를 마스터 리포지토리로 결합하여 단일 리포지토리를 사용하여 모든 작업을 배포해야 하는 상황에 직면하게 됩니다.
다양한 리포지토리를 하나로 병합하고 귀중한 커밋 기록을 보존하는 것조차 어려워 보이지만 실제로는 그렇지 않습니다. 이 기사에서는 개별 리포지토리를 단일 마스터 리포지토리로 병합하는 방법을 단계별로 자세히 설명합니다.
Git에서 리포지토리를 병합하는 단계
repo A
와 repo B
라는 세 개의 저장소가 있고 repo Z
가 있다고 가정합니다. 여기서 A
와 B
를 병합할 수 있습니다. 우리가 현재 repo Z
디렉토리에 있다고 가정해 보겠습니다. 여기서 A
와 B
라는 두 개의 저장소를 Z
라는 저장소로 병합하려고 합니다.
한 가지 더 가정해 봅시다. repo Z
는 저장소의 마스터 분기입니다.
- 원격 URL 추가
이 단계에서는 -f
속성을 사용하여 git remote add
명령을 실행합니다. 이렇게 하면 repo A
에 대한 리모컨이 추가되며, 이름은 repo A
입니다.
```bash
git remote add -f remote-A <repo-A-URL>
```
-f
옵션을 사용하면 원격 정보가 설정된 후 git fetch <name>
명령이 즉시 처리됩니다.
repo B
에 대해 위에서 설명한 것과 동일한 절차를 따릅니다.
```bash
git remote add -f remote-B <repo-B-URL>
```
- 파일 및 폴더 결합
이제 다음 명령을 사용하여 repo A
파일을 현재 분기(repo Z
)에 병합합니다.
```bash
git merge remote-A/master --allow-unrelated-histories
```
여기에 --allow-unrelated-historys
를 추가하여 Git이 관련 없는 기록의 병합을 허용할 것입니다.
다음 명령을 사용하여 repo B
에 대해서도 동일한 프로세스가 반복됩니다.
```bash
git merge remote-B/master --allow-unrelated-histories
```
위의 명령을 실행한 후 일부 충돌이 발생하면 해결한 다음 성공적으로 병합을 커밋합니다.
- 커밋 히스토리 보기
병합된 커밋 히스토리를 보기 위해 다음 명령 git log
을 실행합니다. 이는 다양한 리포지토리의 모든 병합 내역을 보기 위한 마지막 단계가 될 것입니다.
```bash
git log
```
Abdul is a software engineer with an architect background and a passion for full-stack web development with eight years of professional experience in analysis, design, development, implementation, performance tuning, and implementation of business applications.
LinkedIn