- GitLab Duo 제안된 리뷰어
- Merge Request 검토
- 여러 줄에 코멘트
- 프로젝트 수준에서 Merge Request 일괄 편집
- 그룹 수준에서 대량 편집 Merge Request
- 관련 기능
- 관련 주제
Merge Request 리뷰
Merge Request은 GitLab 프로젝트의 파일을 변경하는 주요 방법입니다. 변경 사항을 제안하려면 Merge Request을 생성하고 제출하십시오. 팀원들은 Merge Request에 의견을 남기고 사용자 인터페이스에서 수락할 수 있는 코드 제안을 합니다. 작업이 검토될 때 팀원들은 수락하거나 거부할 수 있습니다.
Merge Request은 GitLab 인터페이스에서 검토할 수 있습니다. GitLab Workflow VS Code 확장 프로그램을 설치하면 Visual Studio Code에서도 Merge Request을 검토할 수 있습니다.
개요는 다음에서 확인하세요: Merge Request 검토.
GitLab Duo 제안된 리뷰어
- GitLab 15.4에서 Beta 기능으로 증가되었습니다. 기본 설정으로 비활성화됩니다.
- GitLab 15.6에서 GitLab.com에서 활성화됨.
- GitLab 15.10에서 Beta 표시가 제거됨.
- GitLab 16.6에서 피처 플래그가 제거됨.
GitLab은 머지 요청에 대한 리뷰어를 제안하기 위해 기계 학습을 사용합니다.
개요는 다음에서 확인하세요: GitLab Duo 제안된 리뷰어.
리뷰어를 제안하기 위해 GitLab은 다음을 사용합니다:
- Merge Request의 변경 내용
- 프로젝트의 기여 그래프
GitLab Duo 제안된 리뷰어는 또한 코드 소유자, 프로필 상태 및 Merge Request 규칙과 통합되어 리뷰 기준에 부합하는 리뷰어를 선택하는 데 도움이 됩니다.
자세한 정보는 GitLab Duo 제안된 리뷰어의 데이터 사용를 참조하세요.
제안된 리뷰어 활성화
제안된 리뷰어를 활성화하면 GitLab이 프로젝트에 대한 ML 모델을 생성하여 리뷰어를 생성합니다. 프로젝트가 클수록 이 프로세스는 더 오래 걸릴 수 있습니다. 일반적으로 모델은 몇 시간 내에 제안을 생성할 준비가 됩니다.
전제 조건:
- 프로젝트에서 소유자 또는 유지 관리자 역할을 가지고 있어야 합니다.
다음을 수행하려면:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 설정 > Merge Request을 선택합니다.
- 제안된 리뷰어로 스크롤하여 제안된 리뷰어 활성화를 선택합니다.
- 변경 사항 저장을 선택합니다.
이 기능을 활성화한 후에는 추가 조치가 필요하지 않습니다. 모델이 준비되면 새 커밋이 있는 Merge Request의 오른쪽 사이드바에 있는 리뷰어 드롭다운 디렉터리에 제안이 표시됩니다.
Merge Request 검토
Merge Request을 검토하면 개인적으로만 볼 수 있는 의견을 작성할 수 있습니다. 준비가 되면 모두 함께 게시할 수 있습니다. 검토를 시작하려면:
- 검토할 Merge Request으로 이동하여 변경 내용 탭을 선택합니다. 이 탭에 표시된 차이를 탐색하는 방법에 대한 자세한 정보는 Merge Request의 변경 사항을 참조하세요.
- 코드 라인에서 이 라인에 의견 추가()을 선택하여 차이가 확장되고 의견 상자가 표시됩니다. GitLab 버전 13.2부터 여러 줄을 선택할 수 있습니다.
- 텍스트 영역에서 첫 번째 의견을 작성한 다음 의견 아래의 검토 시작을 선택합니다.
- 코드 라인에 계속해서 의견을 추가합니다. 각 의견 후 검토에 추가를 선택합니다. 검토의 일환으로 작성된 의견은 제출할 때까지 개인적으로만 보입니다.
- 선택 사항입니다. 검토 의견 내에서 빠른 조치를 사용할 수 있습니다. 의견에 포함된 빠른 조치는 게시 후에 수행됩니다.
- 검토를 완료하면 검토 제출을 할 수 있습니다. 이제 의견이 표시됩니다. 당신의 의견에 포함된 빠른 조치는 수행됩니다.
만약 Merge Request을 승인하고 리뷰어 디렉터리에 표시된 경우, 녹색 확인 표시 가 이름 옆에 표시됩니다.
검토 요청
Merge Request에 리뷰어를 할당하려면 Merge Request의 텍스트 영역에서 /assign_reviewer @user
빠른 조치를 사용합니다. 또는 다음을 수행합니다:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 코드 > Merge Request을 선택하고 Merge Request을 찾습니다.
- 오른쪽 사이드바의 리뷰어 섹션에서 편집을 선택합니다.
- 할당하고자 하는 사용자를 검색하고 사용자를 선택합니다.
Merge Request은 사용자의 검토 요청 디렉터리에 추가됩니다.
여러 사용자에서
여러 리뷰어를 Merge Request에 할당하려면 Merge Request의 텍스트 영역에서 /assign_reviewer @user
빠른 조치를 사용합니다. 또는 다음을 수행합니다:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 코드 > Merge Request을 선택하고 Merge Request을 찾습니다.
- 오른쪽 사이드바의 리뷰어 섹션에서 편집을 선택합니다.
- 드롭다운 디렉터리에서 할당하고자 하는 모든 사용자를 선택합니다.
리뷰어를 제거하려면 동일한 드롭다운 디렉터리에서 사용자를 지웁니다.
변경 사항을 diff로 다운로드하려면
Merge Request에 포함된 변경 사항을 diff로 다운로드하려면:
- 좌측 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- Code > Merge requests를 선택합니다.
- Merge Request을 선택합니다.
- 우측 상단 모서리에서 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에 포함된 변경 사항을 패치 파일로 다운로드하려면:
- 좌측 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- Code > Merge requests를 선택합니다.
- Merge Request을 선택합니다.
- 우측 상단 모서리에서 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하기 전에 처리해야 할 피드백을 남깁니다.
코멘트가 포함된 스레드를 해결하거나 해제합니다
리뷰 코멘트는 해결 가능한 스레드를 해결하거나 해제할 수 있습니다(해결 가능한 스레드 해결).
코멘트에 회신할 때 스레드를 해결하거나 해제하려면:
- 코멘트 텍스트 영역에 코멘트를 작성합니다.
- 스레드 해결을 선택하거나 해제합니다.
- 지금 코멘트 추가 또는 리뷰에 추가를 선택합니다.
게시될 때 작업에 대한 정보가 표시됩니다:
- 스레드가 해결됨.
- 스레드가 해제되지 않음.
새로운 코멘트 추가
진행 중인 리뷰가 있는 경우 개요 탭에서 리뷰에 추가를 선택하여 새로운 코멘트를 추가할 수 있습니다:
리뷰어를 위한 승인 규칙 정보
새로운 Merge Request에서 리뷰어 필드를 편집할 때 GitLab은 각 리뷰어 이름 아래에 일치하는 승인 규칙의 이름을 표시합니다. Code Owners
는 그룹 상세 정보 없이 Codeowner
로 표시됩니다.
이 예는 새로운 Merge Request을 생성할 때 리뷰어와 승인 규칙을 보여줍니다:
이 예는 Merge Request 사이드바에서 리뷰어와 승인 규칙을 보여줍니다:
새로운 리뷰를 요청합니다
리뷰어가 Merge Request 리뷰를 완료하면, Merge Request의 작성자는 리뷰어에게 새로운 리뷰를 요청할 수 있습니다:
- Merge Request에서 오른쪽 사이드바가 축소되어 있는 경우 사이드바 확장 아이콘을 선택하여 사이드바를 확장합니다.
- 리뷰어 섹션에서 리뷰어 이름 옆의 리뷰 재요청 아이콘()을 선택합니다.
GitLab은 리뷰어에게 새로운 to-do 항목을 생성하고 알림 이메일을 보냅니다.
여러 줄에 코멘트
코드의 차이점에 코멘트를 남길 때, 다음 중 하나로 코멘트가 참조하는 코드 줄을 선택할 수 있습니다:
- 거터의 이 줄에 코멘트 추가()를 드래그하여 차이점의 줄을 강조합니다. GitLab은 차이점 줄을 확장하고 코멘트 상자를 표시합니다.
- 거터의 이 줄에 코멘트 추가()를 선택하여 코멘트를 시작한 후, 코멘트가 참조하는 첫 번째 줄 번호를 행에 코멘트 달기 선택 상자에서 선택합니다. 새로운 코멘트는 선택한 시작 줄을 제외하고 기본적으로 단일 라인 코멘트로 표시됩니다.
여러 줄 코멘트는 코멘트의 줄 번호가 코멘트의 본문 위에 표시됩니다:
프로젝트 수준에서 Merge Request 일괄 편집
최소한 Developer 역할을 가진 사용자는 Merge Request을 관리할 수 있습니다.
프로젝트에서 Merge Request을 일괄로 편집할 때, 다음 속성을 편집할 수 있습니다:
- 상태 (열린/닫힘)
- 담당자
- 마일스톤
- 라벨
- 구독
동시에 여러 프로젝트 Merge Request을 업데이트하려면:
- 프로젝트에서 Code > Merge requests로 이동합니다.
- 일괄 편집을 선택합니다. 화면의 우측에 사이드바가 나타납니다.
- 수정하려는 각 Merge Request 옆의 확인란을 선택합니다.
- 사이드바에서 적절한 필드와 값을 선택합니다.
- 모두 업데이트를 선택합니다.
그룹 수준에서 대량 편집 Merge Request
최소한 개발자 역할을 가진 사용자는 Merge Request을 관리할 수 있습니다.
그룹에서 Merge Request을 대량으로 편집할 때, 다음 속성을 편집할 수 있습니다:
- 마일스톤
- 레이블
동시에 여러 그룹 Merge Request을 업데이트하려면:
- 그룹에서 코드 > Merge Request으로 이동합니다.
- 대량 편집을 선택합니다. 화면 오른쪽에 사이드바가 나타나며 편집 가능한 필드가 표시됩니다.
- 편집하려는 각 Merge Request 옆의 확인란을 선택합니다.
- 사이드바에서 적절한 필드와 그 값들을 선택합니다.
- 모두 업데이트를 선택합니다.
관련 기능
이러한 기능들은 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의 특정 부분에 액세스하고 수정합니다.