Merge Request 리뷰

Tier: Free, Premium, Ultimate Offering: GitLab.com, Self-managed, GitLab Dedicated

Merge Request은 GitLab 프로젝트의 파일을 변경하는 주요 방법입니다. 변경 사항을 제안하려면 Merge Request을 생성하고 제출하십시오. 팀원들은 Merge Request에 의견을 남기고 사용자 인터페이스에서 수락할 수 있는 코드 제안을 합니다. 작업이 검토될 때 팀원들은 수락하거나 거부할 수 있습니다.

Merge Request은 GitLab 인터페이스에서 검토할 수 있습니다. GitLab Workflow VS Code 확장 프로그램을 설치하면 Visual Studio Code에서도 Merge Request을 검토할 수 있습니다.

개요는 다음에서 확인하세요: Merge Request 검토.

GitLab Duo 제안된 리뷰어

Tier: Ultimate Offering: GitLab.com

GitLab은 머지 요청에 대한 리뷰어를 제안하기 위해 기계 학습을 사용합니다.

개요는 다음에서 확인하세요: GitLab Duo 제안된 리뷰어.

리뷰어를 제안하기 위해 GitLab은 다음을 사용합니다:

  • Merge Request의 변경 내용
  • 프로젝트의 기여 그래프

GitLab Duo 제안된 리뷰어는 또한 코드 소유자, 프로필 상태 및 Merge Request 규칙과 통합되어 리뷰 기준에 부합하는 리뷰어를 선택하는 데 도움이 됩니다.

GitLab Duo 제안된 리뷰어

자세한 정보는 GitLab Duo 제안된 리뷰어의 데이터 사용를 참조하세요.

제안된 리뷰어 활성화

제안된 리뷰어를 활성화하면 GitLab이 프로젝트에 대한 ML 모델을 생성하여 리뷰어를 생성합니다. 프로젝트가 클수록 이 프로세스는 더 오래 걸릴 수 있습니다. 일반적으로 모델은 몇 시간 내에 제안을 생성할 준비가 됩니다.

전제 조건:

  • 프로젝트에서 소유자 또는 유지 관리자 역할을 가지고 있어야 합니다.

다음을 수행하려면:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
  2. 설정 > Merge Request을 선택합니다.
  3. 제안된 리뷰어로 스크롤하여 제안된 리뷰어 활성화를 선택합니다.
  4. 변경 사항 저장을 선택합니다.

이 기능을 활성화한 후에는 추가 조치가 필요하지 않습니다. 모델이 준비되면 새 커밋이 있는 Merge Request의 오른쪽 사이드바에 있는 리뷰어 드롭다운 디렉터리에 제안이 표시됩니다.

Merge Request 검토

Merge Request을 검토하면 개인적으로만 볼 수 있는 의견을 작성할 수 있습니다. 준비가 되면 모두 함께 게시할 수 있습니다. 검토를 시작하려면:

  1. 검토할 Merge Request으로 이동하여 변경 내용 탭을 선택합니다. 이 탭에 표시된 차이를 탐색하는 방법에 대한 자세한 정보는 Merge Request의 변경 사항을 참조하세요.
  2. 코드 라인에서 이 라인에 의견 추가()을 선택하여 차이가 확장되고 의견 상자가 표시됩니다. GitLab 버전 13.2부터 여러 줄을 선택할 수 있습니다.
  3. 텍스트 영역에서 첫 번째 의견을 작성한 다음 의견 아래의 검토 시작을 선택합니다.
  4. 코드 라인에 계속해서 의견을 추가합니다. 각 의견 후 검토에 추가를 선택합니다. 검토의 일환으로 작성된 의견은 제출할 때까지 개인적으로만 보입니다.
  5. 선택 사항입니다. 검토 의견 내에서 빠른 조치를 사용할 수 있습니다. 의견에 포함된 빠른 조치는 게시 후에 수행됩니다.
  6. 검토를 완료하면 검토 제출을 할 수 있습니다. 이제 의견이 표시됩니다. 당신의 의견에 포함된 빠른 조치는 수행됩니다.

만약 Merge Request을 승인하고 리뷰어 디렉터리에 표시된 경우, 녹색 확인 표시 가 이름 옆에 표시됩니다.

검토 요청

Merge Request에 리뷰어를 할당하려면 Merge Request의 텍스트 영역에서 /assign_reviewer @user 빠른 조치를 사용합니다. 또는 다음을 수행합니다:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
  2. 코드 > Merge Request을 선택하고 Merge Request을 찾습니다.
  3. 오른쪽 사이드바의 리뷰어 섹션에서 편집을 선택합니다.
  4. 할당하고자 하는 사용자를 검색하고 사용자를 선택합니다.

Merge Request은 사용자의 검토 요청 디렉터리에 추가됩니다.

여러 사용자에서

Tier: Premium, Ultimate Offering: GitLab.com, Self-managed, GitLab Dedicated

여러 리뷰어를 Merge Request에 할당하려면 Merge Request의 텍스트 영역에서 /assign_reviewer @user 빠른 조치를 사용합니다. 또는 다음을 수행합니다:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
  2. 코드 > Merge Request을 선택하고 Merge Request을 찾습니다.
  3. 오른쪽 사이드바의 리뷰어 섹션에서 편집을 선택합니다.
  4. 드롭다운 디렉터리에서 할당하고자 하는 모든 사용자를 선택합니다.

리뷰어를 제거하려면 동일한 드롭다운 디렉터리에서 사용자를 지웁니다.

변경 사항을 diff로 다운로드하려면

Merge Request에 포함된 변경 사항을 diff로 다운로드하려면:

  1. 좌측 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
  2. Code > Merge requests를 선택합니다.
  3. Merge Request을 선택합니다.
  4. 우측 상단 모서리에서 Code > 일반 diff를 선택합니다.

Merge Request의 URL을 알고 있다면,.diff를 URL에 추가하여 명령 줄에서 diff를 다운로드할 수도 있습니다. 예를들어 Merge Request 000000에 대한 diff를 다운로드합니다:

https://gitlab.com/gitlab-org/gitlab/-/merge_requests/000000.diff

한 줄로 diff를 다운로드하고 적용하는 방법:

curl "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/000000.diff" | git apply

변경 사항을 패치 파일로 다운로드하려면

Merge Request에 포함된 변경 사항을 패치 파일로 다운로드하려면:

  1. 좌측 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
  2. Code > Merge requests를 선택합니다.
  3. Merge Request을 선택합니다.
  4. 우측 상단 모서리에서 Code > Patches를 선택합니다.

Merge Request의 URL을 알고 있다면,.patch를 URL에 추가하여 명령 줄에서 패치를 다운로드할 수도 있습니다. 예를들어 Merge Request 000000에 대한 패치 파일을 다운로드합니다:

https://gitlab.com/gitlab-org/gitlab/-/merge_requests/000000.patch

패치를 다운로드하고 적용하는 방법은 다음과 같습니다.(git apply를 사용하여):

curl "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/000000.patch" | git am

리뷰 제출

여러 가지 방법으로 완료된 리뷰를 제출할 수 있습니다:

  • 비 리뷰 코멘트의 텍스트에서 /submit_review 빠른 액션을 사용합니다.
  • 리뷰 완료를 선택한 후 모달 창의 하단에 있는 리뷰 제출을 선택합니다. 모달 창에서 요약 코멘트를 제공하고, Merge Request을 승인하고 빠른 액션을 포함할 수 있습니다:

    코멘트로 리뷰 완료

리뷰를 제출하면 GitLab은 다음을 수행합니다:

  • 리뷰에서의 코멘트를 게시합니다.
  • Merge Request의 알림을 받을 수 있는 모든 사용자에게 이메일을 보내어 리뷰 코멘트를 첨부합니다. 이메일에 회신하면 새로운 코멘트가 Merge Request에 추가됩니다.
  • 리뷰 코멘트에 추가한 빠른 액션을 수행합니다.
  • 선택 사항. 승인하거나 변경을 요청한 것이 나타납니다:
    • 코멘트: 명시적인 승인 없이 일반적인 피드백을 남깁니다.
    • 승인: 피드백을 남기고 변경 사항을 승인합니다.
    • 변경 요청: Merge하기 전에 처리해야 할 피드백을 남깁니다.

코멘트가 포함된 스레드를 해결하거나 해제합니다

리뷰 코멘트는 해결 가능한 스레드를 해결하거나 해제할 수 있습니다(해결 가능한 스레드 해결).

코멘트에 회신할 때 스레드를 해결하거나 해제하려면:

  1. 코멘트 텍스트 영역에 코멘트를 작성합니다.
  2. 스레드 해결을 선택하거나 해제합니다.
  3. 지금 코멘트 추가 또는 리뷰에 추가를 선택합니다.

게시될 때 작업에 대한 정보가 표시됩니다:

  • 스레드가 해결됨.
  • 스레드가 해제되지 않음.

새로운 코멘트 추가

진행 중인 리뷰가 있는 경우 개요 탭에서 리뷰에 추가를 선택하여 새로운 코멘트를 추가할 수 있습니다:

새로운 스레드

리뷰어를 위한 승인 규칙 정보

Tier: Premium, Ultimate Offering: GitLab.com, Self-managed, GitLab Dedicated

새로운 Merge Request에서 리뷰어 필드를 편집할 때 GitLab은 각 리뷰어 이름 아래에 일치하는 승인 규칙의 이름을 표시합니다. Code Owners는 그룹 상세 정보 없이 Codeowner로 표시됩니다.

이 예는 새로운 Merge Request을 생성할 때 리뷰어와 승인 규칙을 보여줍니다:

새로운/편집 폼에서 승인 규칙

이 예는 Merge Request 사이드바에서 리뷰어와 승인 규칙을 보여줍니다:

사이드바의 리뷰어 승인 규칙

새로운 리뷰를 요청합니다

리뷰어가 Merge Request 리뷰를 완료하면, Merge Request의 작성자는 리뷰어에게 새로운 리뷰를 요청할 수 있습니다:

  1. Merge Request에서 오른쪽 사이드바가 축소되어 있는 경우 사이드바 확장 아이콘을 선택하여 사이드바를 확장합니다.
  2. 리뷰어 섹션에서 리뷰어 이름 옆의 리뷰 재요청 아이콘()을 선택합니다.

GitLab은 리뷰어에게 새로운 to-do 항목을 생성하고 알림 이메일을 보냅니다.

여러 줄에 코멘트

코드의 차이점에 코멘트를 남길 때, 다음 중 하나로 코멘트가 참조하는 코드 줄을 선택할 수 있습니다:

  • 거터의 이 줄에 코멘트 추가()를 드래그하여 차이점의 줄을 강조합니다. GitLab은 차이점 줄을 확장하고 코멘트 상자를 표시합니다.
  • 거터의 이 줄에 코멘트 추가()를 선택하여 코멘트를 시작한 후, 코멘트가 참조하는 첫 번째 줄 번호를 행에 코멘트 달기 선택 상자에서 선택합니다. 새로운 코멘트는 선택한 시작 줄을 제외하고 기본적으로 단일 라인 코멘트로 표시됩니다.

어떤 diff 파일 줄에도 코멘트 추가

여러 줄 코멘트는 코멘트의 줄 번호가 코멘트의 본문 위에 표시됩니다:

코드와 관련된 여러 줄 코멘트 표시

프로젝트 수준에서 Merge Request 일괄 편집

최소한 Developer 역할을 가진 사용자는 Merge Request을 관리할 수 있습니다.

프로젝트에서 Merge Request을 일괄로 편집할 때, 다음 속성을 편집할 수 있습니다:

  • 상태 (열린/닫힘)
  • 담당자
  • 마일스톤
  • 라벨
  • 구독

동시에 여러 프로젝트 Merge Request을 업데이트하려면:

  1. 프로젝트에서 Code > Merge requests로 이동합니다.
  2. 일괄 편집을 선택합니다. 화면의 우측에 사이드바가 나타납니다.
  3. 수정하려는 각 Merge Request 옆의 확인란을 선택합니다.
  4. 사이드바에서 적절한 필드와 값을 선택합니다.
  5. 모두 업데이트를 선택합니다.

그룹 수준에서 대량 편집 Merge Request

Tier: Premium, Ultimate Offering: GitLab.com, Self-managed, GitLab Dedicated

최소한 개발자 역할을 가진 사용자는 Merge Request을 관리할 수 있습니다.

그룹에서 Merge Request을 대량으로 편집할 때, 다음 속성을 편집할 수 있습니다:

  • 마일스톤
  • 레이블

동시에 여러 그룹 Merge Request을 업데이트하려면:

  1. 그룹에서 코드 > Merge Request으로 이동합니다.
  2. 대량 편집을 선택합니다. 화면 오른쪽에 사이드바가 나타나며 편집 가능한 필드가 표시됩니다.
  3. 편집하려는 각 Merge Request 옆의 확인란을 선택합니다.
  4. 사이드바에서 적절한 필드와 그 값들을 선택합니다.
  5. 모두 업데이트를 선택합니다.

관련 기능

이러한 기능들은 Merge Request과 관련이 있습니다:

  • 커밋 체리 픽:
    Merge된 Merge Request 또는 커밋에서 Cherry-pick 버튼을 선택하여 UI에서 어떠한 커밋이든 Cherry-pick할 수 있습니다.
  • 빠른 순방향 Merge Request:
    선형 Git 히스토리와 일치하는 방식으로 Merge Request을 수락하지만, Merge 커밋이 생성되지 않습니다.
  • 변경 사항을 도입한 Merge Request 찾기:
    커밋 상세 페이지를 볼 때, GitLab은 해당 커밋을 포함하는 Merge Request에 연결합니다.
  • Merge Request 버전:
    Merge Request diffs의 다른 버전을 선택하고 비교합니다.
  • 충돌 해결:
    GitLab은 특정 Merge Request 충돌을 GitLab UI에서 해결할 수 있는 옵션을 제공할 수 있습니다.
  • 변경 내용 되돌리기:
    Merge Request에서 어떤 커밋의 변경 사항을 되돌립니다.
  • 키보드 바로 가기:
    키보드 명령으로 Merge Request의 특정 부분에 액세스하고 수정합니다.

관련 주제