gitlab 서로다른 레포지토리 병합 미러링
1. 상황 및 작업배경¶
상황 설명
내부에서 개발하고 있던 api 깃프로젝트 소스가 있었는데, 별도의 TF 프로젝트가 발생하였고 이에 따라 깃프로젝트 이중 작업이 불가피하여 TF 프로젝트용으로 api 깃프로젝트를 복제하여 새 구성을 하였습니다. 하여 내부적으로 api 깃프로젝트와 tf api 깃프로젝트가 생겨난 상황이었는데. api 깃프로젝트에서 진행된 내용이 tf api 깃프로젝트로 옮겨져야 하는 상황이 생겼습니다.
대상 프로젝트
- A 프로젝트 release 브랜치
- B 프로젝트 main 브랜치
2. 이관 전략¶
이관 전략
- A 프로젝트
release
브랜치를 B 프로젝트로 미러링 - A 프로젝트의
release
브랜치를 B 프로젝트로 미러링하여 B 프로젝트에 동일한 브랜치를 생성하고 동기화 - B 프로젝트에서 main 브랜치로 main-target 브랜치 생성
- B 프로젝트의
main
브랜치로부터main-target
이라는 새 브랜치를 생성했습니다. 이 브랜치는 병합 작업의 대상 브랜치로 설정 - B 프로젝트에 미러링 된 release 브랜치를 main-target 브랜치와 병합
- B 프로젝트에 미러링된 A 프로젝트의
release
브랜치를 B 프로젝트의main-target
브랜치와 병합 - 병합 된 main-target 브랜치를 검토
- 병합이 완료된 후,
main-target
브랜치의 소스 코드를 검토하고, 이 과정에서 충돌을 해결하고 병합된 코드의 정상 작동 여부를 확인 - sync가 맞지 않는 소스 및 직접 처리건에 대하여 main-target 브랜치에 처리
- 병합 후 소스 코드의 Sync가 맞지 않는 부분과 직접 처리해야 할 내용을
main-target
브랜치에서 수정 및 보완 - 최종 main-target 브랜치를 main 브랜치로 병합
- 수정 및 검토가 완료된
main-target
브랜치를 B 프로젝트의main
브랜치로 최종 병합
3. 결과¶
깃랩(GitLab) 미러링 기능을 이용하여 서로 다른 레포지토리로 브랜치를 이관하고 병합하는 작업의 정리 내용입니다.