Merge Request 리뷰
Merge Request은 GitLab 프로젝트에서 파일을 변경하는 주요 방법입니다. 변경 사항을 제안하기 위해 Merge Request을 생성하고 제출합니다. 팀원들은 Merge Request에 댓글을 남기고 UI에서 수락할 수 있는 코드 제안을 합니다. 팀원이 작업을 검토하면, 해당 작업을 수락하거나 거부할 수 있습니다.
Merge Request을 검토하려면 다음을 사용할 수 있습니다:
- GitLab 인터페이스.
- GitLab Workflow VS Code 확장 프로그램을 구성한 경우 Visual Studio Code.
- GitLab CLI을 구성한 경우 터미널 창.
개요를 보려면 Merge Request 검토를 참조하세요.
리뷰 요청
Merge Request에 리뷰어를 지정하려면, Merge Request의 텍스트 영역에서 /assign_reviewer @user
빠른 작업을 사용하거나 다음을 수행하세요:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 코드 > Merge Request을 선택하고 Merge Request을 찾습니다.
- Merge Request의 제목을 선택하여 보기.
- 오른쪽 사이드바에서 리뷰어 섹션에서 편집을 선택합니다.
- 지정하려는 사용자를 검색하고 해당 사용자를 선택합니다.
GitLab은 해당 Merge Request을 사용자의 리뷰 요청에 추가합니다.
여러 사용자에서
하나의 Merge Request에 여러 리뷰어를 지정하려면, Merge Request의 텍스트 영역에서 /assign_reviewer @user
빠른 작업을 사용하거나 다음을 수행하세요:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 코드 > Merge Request을 선택하고 Merge Request을 찾습니다.
- Merge Request의 제목을 선택하여 보기.
- 오른쪽 사이드바에서 리뷰어 섹션에서 편집을 선택합니다.
- 드롭다운 디렉터리에서 Merge Request에 지정하려는 모든 사용자를 선택합니다.
리뷰어를 제거하려면 동일한 드롭다운 디렉터리에서 사용자를 지웁니다.
리뷰 재요청
리뷰어가 Merge Request 리뷰를 완료한 후, Merge Request 작성자는 리뷰어에게 새로운 리뷰를 요청할 수 있습니다:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 코드 > Merge Request을 선택하고 Merge Request을 찾습니다.
- Merge Request의 제목을 선택하여 보기.
- Merge Request의 오른쪽 사이드바가 접혀 있는 경우, 사이드바 확장을 선택하여 확장합니다.
- 리뷰어 섹션에서 리뷰어의 이름 옆의 재요청 아이콘 ()을 선택합니다.
GitLab은 리뷰어에게 새로운 할 일 항목을 만들고, 해당 사용자에게 알림 이메일을 보냅니다.
리뷰 시작
다른 사용자가 Merge Request을 리뷰하도록 요청한 경우:
- 다음 중 하나:
- Shift + r을 누르고 리뷰 요청 페이지로 이동합니다.
- 왼쪽 사이드바에서 Merge Request () > 리뷰 요청을 선택합니다.
- Merge Request을 찾고, Merge Request의 제목을 선택하여 보기.
- Merge Request 설명 및 댓글을 읽어 Merge Request에 대해 알아봅니다.
- 변경 사항을 선택하여 제안된 변경 사항의 차이점을 확인합니다. 변경 사항 페이지에 대해 더 알아보려면 Merge Request의 변경 사항을 참조하세요.
-
필요한 경우 다중 라인 또는 단일 라인 변경을 제안합니다. 댓글 추가 대신 리뷰 시작을 선택하면 리뷰 댓글이 완료될 때까지 게시되지 않습니다.
-
리뷰 시작을 선택한 후에 더 많은 댓글을 추가하려면 다음에서 리뷰에 댓글을 추가하십시오:
- 차이점 보기를 포함한 변경 사항 탭.
- 개요 탭 및 리뷰에 추가를 선택:
- 리뷰 제출을 선택하여 리뷰 시작 또는 리뷰에 추가로 추가된 모든 리뷰 댓글을 게시할 수 있습니다. 리뷰 제출 전까지 이러한 댓글은 게시되지 않습니다.
댓글로 스레드 해결 또는 해제
리뷰 댓글은 스레드를 해결하거나 다시 열 수도 있습니다 해결 가능한 스레드. 댓글에 답장할 때 스레드를 해결하거나 다시 열려면 다음을 수행합니다:
- 댓글 텍스트 영역에 댓글을 작성합니다.
- 스레드 해결을 선택하거나 해제합니다.
- 지금 댓글 추가 또는 리뷰에 추가를 선택합니다.
보류 중인 댓글은 게시될 때 지연된 작업에 대한 정보를 표시합니다:
- 스레드가 해결됨.
- 스레드가 해제됨.
리뷰 제출
완료된 리뷰를 제출하려면 다음을 수행할 수 있습니다:
- 비-리뷰 댓글의 텍스트에서
/submit_review
빠른 작업을 사용합니다. -
리뷰 완료를 선택한 후, 대화 상자 하단에서 리뷰 제출을 선택합니다. 대화 상자에서 요약 댓글을 제공하고 Merge Request을 승인하며 빠른 작업을 포함할 수 있습니다:
리뷰를 제출하면 GitLab이 다음을 수행합니다:
- 리뷰의 댓글을 게시합니다.
- Merge Request의 모든 알림 가능한 사용자에게 리뷰 댓글이 첨부된 이메일을 보냅니다. 해당 이메일에 회신하면 Merge Request에 새로운 댓글이 생성됩니다.
- 리뷰 댓글에 추가한 빠른 작업을 수행합니다.
- (선택 사항) 승인하거나 변경을 요청합니다:
- 댓글: 명시적인 승인 없이 일반적인 피드백을 남깁니다.
- 승인: 피드백을 남기고 변경 사항을 승인합니다.
-
변경 요청: Merge하기 전에 작성자가 처리해야 할 피드백을 남깁니다.
mr_reviewer_requests_changes
피처 플래그가 활성화된 경우에는 이 상태를 사용하여 Merge Request을 차단할 수 있습니다.
변경 사항을 요청하는 경우 Merge 방지
- GitLab 16.11에 도입되었습니다. 기본적으로
mr_reviewer_requests_changes
라는 플래그로 피처 플래그가 비활성화됩니다.
mr_reviewer_requests_changes
라는 피처 플래그를 활성화하여 사용할 수 있습니다.
GitLab.com에서는 이 기능을 사용할 수 없습니다.
GitLab Dedicated에서는 이 기능을 사용할 수 없습니다.리뷰어가 변경 사항을 요청하면 Merge Request이 차단됩니다. Merge Request 보고 영역에서 변경 사항이 완료되거나 해결해야 함 메시지가 표시됩니다.
Merge Request을 Merge할 권한이 있는 사용자는 Merge Request 보고 영역에서 배제를 선택하여 이 확인을 무시할 수 있습니다.
리뷰어가 승인 규칙과 매핑되는 방법을 확인하세요
Merge Request을 생성할 때, 당신은 만드는 변경의 유형에 대해 전문가들로부터 리뷰를 요청하고 싶어합니다. Merge Request에 대한 리뷰 주기를 줄이기 위해 프로젝트의 승인 규칙에서 사용자로부터 리뷰를 요청하는 것을 고려해보세요.
새로운 Merge Request이나 기존의 요청에서 Reviewers 필드를 편집할 때, GitLab은 각 리뷰어 이름 아래에 해당하는 승인 규칙을 보여줍니다. Code Owners는 그룹 세부 정보없이 Codeowner
로 표시됩니다.
- 새로운 Merge Request을 생성하거나 기존 요청을 편집할 때 Reviewers를 선택하세요.
-
원하는 리뷰어의 이름을 입력하기 시작하세요. 코드 소유자이거나 승인 규칙과 일치하는 사용자는 사용자 이름 아래에 추가 정보가 표시됩니다:
Merge Request 변경 내용 다운로드
diff 형식으로
Merge Request에 포함된 변경 내용을 diff 형식으로 다운로드하려면:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- Code > Merge requests를 선택하세요.
- Merge Request을 선택하세요.
- 오른쪽 상단 모서리에서 Code > Plain diff를 선택하세요.
Merge Request의 URL을 아는 경우, URL에 .diff
를 추가하여 명령줄에서 diff를 다운로드할 수도 있습니다. 다음 예제는 Merge Request 000000
에 대한 diff를 다운로드합니다:
https://gitlab.com/gitlab-org/gitlab/-/merge_requests/000000.diff
diff를 다운로드하고 한 줄의 CLI 명령을 사용하여 diff를 적용합니다:
curl "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/000000.diff" | git apply
patch 파일 형식으로
Merge Request에 포함된 변경 내용을 patch 파일 형식으로 다운로드하려면:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- Code > Merge requests를 선택하세요.
- Merge Request을 선택하세요.
- 오른쪽 상단 모서리에서 Code > Patches를 선택하세요.
Merge Request의 URL을 아는 경우, URL에 .patch
를 추가하여 명령줄에서 patch를 다운로드할 수도 있습니다. 다음 예제는 Merge Request 000000
에 대한 patch 파일을 다운로드합니다:
https://gitlab.com/gitlab-org/gitlab/-/merge_requests/000000.patch
patch를 다운로드하고 git am
을 사용하여 한 줄의 CLI 명령을 사용하여 patch를 적용합니다:
curl "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/000000.patch" | git am
GitLab Duo 제안된 리뷰어
- 버전 15.4에서 도입됨 베타 기능으로 suggested_reviewers_control이라는 플래그로 기본 설정이 비활성화됨.
- GitLab 15.6에서 GitLab.com에 활성화됨.
- GitLab 15.10에서 베타 지정이 UI에서 제거됨.
- 피처 플래그가 GitLab 16.6에서 제거됨.
GitLab은 기계 학습을 사용하여 당신의 Merge Request에 대한 리뷰어를 제안합니다.
개요는 GitLab Duo 제안된 리뷰어에서 확인하세요.
리뷰어를 제안하기 위해 GitLab은 다음을 사용합니다:
- Merge Request의 변경 내용
- 프로젝트의 기여 그래프
GitLab Duo 제안된 리뷰어는 또한 코드 소유자, 프로필 상태, 그리고 Merge Request 규칙과 통합되어 당신이 리뷰 기준을 충족시킬 수 있는 리뷰어를 선택할 때 더 나은 결정을 내릴 수 있도록 도와줍니다.
더 많은 정보는 GitLab Duo 제안된 리뷰어의 데이터 사용에서 확인하세요.
제안된 리뷰어 활성화
제안된 리뷰어를 활성화하면 GitLab이 당신의 프로젝트에 대한 리뷰어를 생성하는 기계 학습 모델을 만듭니다. 프로젝트가 클수록 이 프로세스는 더 오랜 시간이 걸릴 수 있습니다. 일반적으로 모델은 몇 시간 후에 제안을 생성할 준비가 됩니다.
전제 조건:
- 프로젝트에서 소유자 또는 유지자 역할을 가지고 있어야 합니다.
이를 수행하려면:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- Settings > Merge requests를 선택하세요.
- Suggested reviewers로 스크롤하고 Enable suggested reviewers를 선택하세요.
- Save changes를 선택하세요.
기능을 활성화한 후에는 별도의 조치가 필요하지 않습니다. 모델이 준비되면 제안이 새 커밋이 포함된 Merge Request의 오른쪽 사이드바에서 Reviewer 드롭다운 디렉터리에 차례대로 나타납니다.
관련된 기능
Merge Request은 다음 기능과 관련이 있습니다:
- 변경 사항 Cherry-pick: Merge된 Merge Request 또는 커밋에서 GitLab UI에서 Cherry-pick을 선택하세요.
- 빠른 순방향 Merge Request: 선형 Git 히스토리와 Merge 커밋을 만들지 않고 Merge Request을 수락할 수 있는 방법
- 변경 사항 도입 Merge Request 찾기: 커밋 세부 정보 페이지에서 특정 변경 내용을 포함하는 Merge Request에 링크합니다.
- Merge Request 버전: Merge Request diff의 다른 버전을 선택하고 비교합니다.
- 충돌 해결: GitLab은 GitLab UI에서 특정 Merge Request 충돌을 해결할 수 있는 옵션을 제공할 수 있습니다.
- 변경 사항 되돌리기: Merge Request의 모든 커밋에서 변경 사항을 되돌릴 수 있습니다.
- 키보드 단축키: 키보드 명령을 사용하여 Merge Request의 특정 부분에 액세스하고 수정합니다.