Merge Request 기능

병합 요청(MR)은 한 브랜치를 다른 브랜치로 병합하기 위한 요청입니다. 병합 요청을 사용하여 소스 코드에 대해 제안된 변경사항을 시각화하고 협업합니다.

개요

병합 요청(일명 "MR")은 제안된 변경사항에 대한 많은 정보를 표시합니다. MR의 본문에는 위젯(CI/CD 파이프라인이 있는 경우, 관련 정보 표시)과 함께 설명이 포함되며, 그 뒤에 해당 MR로 협업하는 사람들의 토론 스레드가 표시됩니다.

MR에는 스레드에서 발생하는 토론, 커밋 목록, 파이프라인 및 Job 목록, 코드 변경 및 인라인 코드 리뷰를 볼 수 있는 내비게이션 탭도 포함되어 있습니다.

사용 사례

A. 팀에서 일하는 소프트웨어 개발자라고 생각해보십시오.

  1. 새 브랜치를 체크아웃하고 병합 요청을 통해 변경사항을 제출합니다.
  2. 팀에서 피드백을 수집합니다.
  3. 코드 품질 보고서로 코드를 최적화하는 구현 작업을 수행합니다.
  4. GitLab CI/CD의 단위 테스트 보고서로 변경사항을 검증합니다.
  5. 라이선스 준수 보고서를 통해 라이선스가 프로젝트와 호환되지 않는 종속성을 사용하지 않도록 합니다. (ULIMATE)
  6. 관리자에게 승인을 요청합니다. (STARTER)
  7. 관리자 :
    a. 최종 리뷰와 함께 커밋을 푸시합니다.
    b. 병합 요청을 승인합니다. (STARTER)
    c. 파이프라인이 성공하면 병합되도록 설정합니다.
  8. 변경사항은 GitLab CI/CD에 대한 수동 작업을 통해 프로덕션에 배포됩니다.
  9. 구현이 성공적으로 고객에게 전달되었습니다.

B. 회사의 웹 사이트를 위한 웹페이지를 작성하는 웹 개발자라고 생각해보십시오.

  1. 새 브랜치를 체크아웃하고 병합 요청을 통해 새 페이지를 제출합니다.
  2. 리뷰어(Reviewers)로부터 피드백을 수집합니다.
  3. Review Apps로 변경사항을 미리 볼 수 있습니다.
  4. 웹 디자이너에게 구현을 요청합니다.
  5. 관리자에게 승인을 요청합니다. (STARTER)
  6. 승인되면, 병합 요청이 스쿼시(Squash) 및 병합되고, GitLab Pages를 사용하여 스테이징(Staging)에 배포됩니다.
  7. 프로덕션 팀이 프로덕션으로 병합 커밋을 체리 픽(Cherry-pick) 합니다.

상단의 병합 요청 내비게이션 탭

지금까지, Discussion, Commits, PipelinesChanges를 표시하기 위해 병합 요청에 있는 내비게이션 탭이 병합 요청 위젯 뒤에 위치하였습니다.

사용자 피드백을 기반으로 페이지를 위아래로 스크롤하지 않고도 내비게이션을 용이하게 하기 위해 이러한 탭의 새로운 위치를 실험하고 있습니다. 이제 위젯이 뒤따르는 병합 요청에 대한 설명을 포함하는 새 Overview탭이 병합 요청의 맨 위에 위치합니다. Overview 옆에서 Commits, PipelinesChanges를 찾을 수 있습니다.

GitLab Merge Request 상단 탭 | 인포그랩 GitLab

Merge Request 만들기

병합 요청을 만들기 전에 병합 요청에 대한 소개를 읽고 개념과 용어를 숙지하고 이를 사용하여 수행할 수 있는 작업을 알아보십시오.

모든 병합 요청은 브랜치를 만드는 것으로 시작됩니다. Git CLI 애플리케이션을 통해 명령 줄로 로컬에서 수행하거나 GitLab UI를 통해 할 수 있습니다.

이 문서에서는 병합 요청을 만드는 여러 방법에 대해 설명합니다.

새 병합 요청을 시작하면, 방법에 관계없이, New Merge Request 페이지로 이동하여 병합 요청에 대한 정보를 채웁니다.

방법에 관계없이 새 브랜치를 GitLab에 푸시하면, Create Merge Request 버튼을 클릭하고 거기에서 병합 요청을 시작할 수 있습니다.

New Merge Request 페이지

New Merge Request 페이지에서, 병합 요청에 대한 제목과 설명을 작성하여 시작합니다. 브랜치에 이미 커밋이 있는 경우 제목은 첫 번째 커밋 메시지의 첫 번째 라인으로 미리 채워지고, 설명은 커밋 메시지의 추가 라인으로 미리 채워집니다. 제목은 모든 경우에 필수인 유일한 필드입니다.

여기에서, 정보(제목, 설명, 담당자, 마일스톤, 레이블, 승인자)를 입력하고 Create Merge Request 버튼을 클릭할 수 있습니다.

해당 초기 화면에서, 병합 요청을 제출하기 전에 브랜치에 푸시된 모든 커밋, 파이프라인 및 파일 변경사항을 볼 수도 있습니다.

GitLab New Merge Request 페이지 | 인포그랩 GitLab

참고 : 병합 요청을 만들기 전에 GitLab의 브랜치에 한 번 이상 푸시할 수 있습니다.

Create Merge Request 버튼

새 브랜치를 GitLab에 푸시했으면, GitLab의 저장소를 방문하여 화면 상단에서 Create Merge Request 버튼을 클릭할 수 있는 call-to-action(CTA, 행동 유도 또는 클릭 유도)을 확인합니다.

GitLab Create Merge Request CTA | 인포그랩 GitLab

다음 항목의 오른쪽 상단에서도 Create merge request 버튼을 볼 수 있습니다.

  • Project 페이지
  • Repository > Files 페이지
  • Merge Requests 페이지

이 경우 GitLab은 변경사항을 푸시한 가장 최근 브랜치를 소스 브랜치로 사용하고 현재 프로젝트의 기본 분기를 대상으로 사용합니다.

깃랩 문서 바로가기