끌어오기 요청 검토
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
PR(끌어오기 요청)을 만들고 필수/선택적 검토자를 지정하면 Azure Repos는 검토자에게 PR을 검토할 준비가 되었음을 알립니다. 변경 내용이 대상 분기에 병합되기 전에 모든 필수 검토자가 PR의 변경 내용을 승인해야 합니다. 분기와 같은 중요한 분기를 변경하는 PR의 main
경우 팀에서 검토자를 지정하거나 최소 검토자가 필요한 분기 정책을 만들었을 수 있습니다. 분기 정책이 PR에 선택적 검토자를 추가하는 경우 해당 검토자를 유지하거나 요구하거나 제거할 수 있습니다. 분기 정책이 PR에 필요한 검토자를 추가하는 경우 선택적으로 만들거나 제거할 수 없습니다. 분기 정책을 통해 검토자를 할당하는 방법에 대한 자세한 내용은 자동으로 코드 검토자 포함을 참조 하세요.
PR을 검토하는 경우 정확하고 이해하기 쉬운 건설적인 피드백을 제공해 보세요. 검토 피드백에 대한 자세한 내용은 끌어오기 요청 피드백을 참조 하세요. 이 문서에서는 Azure DevOps에서 끌어오기 요청을 검토하는 방법을 설명합니다.
브라우저를 사용하여 웹 포털에서 Azure DevOps PR만 검토할 수 있습니다.
이 문서에서는 다음 방법을 알아봅니다.
- 변경 내용 검토
- 메모 사용
- 파일 편집
- 검토된 파일 추적
- PR 변경에 투표
- PR 완료
이 문서에서는 다음 방법을 알아봅니다.
- 변경 내용 검토
- 메모 사용
- PR 변경에 투표
필수 조건
리포지토리 는 Azure DevOps 프로젝트 설정에서 사용하도록 설정해야 합니다. 리포지토리 허브 및 연결된 페이지가 표시되지 않는 경우 Azure DevOps 서비스를 다시 사용하도록 설정 또는 해제를 참조하세요.
PR을 검토하려면 PR이 있는 Azure DevOps 프로젝트의 멤버여야 하며 기본 액세스 수준 이상이어야 합니다.
프로젝트가 없는 경우 프로젝트를 만들거나 무료로 등록하세요.
프로젝트 멤버 가 아닌 경우 추가됩니다.
참고 항목
퍼블릭 프로젝트의 경우 이해 관계자 액세스 권한이 부여된 사용자는 Azure Repos에 대한 모든 권한을 갖습니다.
리포지토리 는 Azure DevOps 프로젝트 설정에서 사용하도록 설정해야 합니다. 리포지토리 허브 및 연결된 페이지가 표시되지 않는 경우 Azure DevOps 서비스를 다시 사용하도록 설정 또는 해제를 참조하세요.
PR을 검토하려면 기본 액세스 수준 이상의 Azure DevOps 프로젝트의 멤버여야 합니다. 프로젝트 멤버 가 아닌 경우 추가됩니다.
- 권한 및 액세스에 대한 자세한 내용은 기본 Git 리포지토리 및 분기 권한 및 액세스 수준 정보를 참조하세요.
Azure DevOps CLI(명령줄 인터페이스)를 사용하여 Azure DevOps Services에서 PR을 관리할 수 있습니다. Azure DevOps CLI는 Azure CLI 및 Azure DevOps 확장을 설치할 때 사용할 수 있습니다. PR을 관리하는 CLI 명령 목록은 명령을 참조 az repos pr
하세요.
변경 내용 검토
끌어오기 요청을 사용하면 지정된 검토자가 리포지토리의 대상 분기에 변경 내용을 적용하기 전에 제안된 변경 내용을 검토, 논의 및 투표할 수 있습니다. 다른 분기의 동일한 파일을 사용하여 개발을 수행하는 경우 충돌하는 변경 내용이 있을 수 있습니다. 이 경우 이러한 충돌을 신중하게 분석하고 해결해야 합니다. 이렇게 하려면 원본, 대상 또는 두 분기의 변경 내용을 올바르게 적용하기 위해 파일을 수동으로 편집해야 할 수 있습니다. 원본 또는 대상(한 번의 단추 클릭으로 수행할 수 있음)의 모든 변경 내용을 적용하는 것이 최적이 아닐 수 있으며 일부 필요한 변경 내용이 손실될 수 있습니다. 이 작업은 ADO 도구를 사용하여 수행하거나 개발 도구(예: Visual Studio)를 사용하는 것이 더 편리합니다.
자세한 내용은 병합 충돌 해결을 참조하세요.
다음 단계에서는 Azure Repos의 PR 검토자가 PR을 탐색하여 제안된 변경 내용을 이해하는 방법을 설명합니다.
웹 브라우저에서 Azure DevOps 조직의 팀 프로젝트를 엽니다. 리포지토리 > 끌어오기 요청을 선택하여 PR을 나열합니다. 새로 연 PR은 기본적으로 개요 탭으로 설정됩니다.
PR의 개요 탭에는 제목, 설명, 검토자, 연결된 작업 항목, 기록, 상태 및 메모가 표시됩니다. PR 설명을 읽어 제안된 변경 내용을 확인합니다. 다른 검토자가 제기한 문제를 이해하려면 주석을 봅니다.
참고 항목
각 파일은 여러 가지 수정으로 추정되며 이름 옆에 "+" 기호 또는 "이름 바꾸기, 편집" 레이블로 표시됩니다. 파일이 50% 이상 변경되면 이름이 바뀐 것으로 간주됩니다 . 이는 변경할 수 없는 git 리포지토리의 기본 임계값입니다.
파일 탭을 선택하여 PR 원본 분기의 모든 콘텐츠 변경 내용을 검토합니다. 초기 보기에는 모든 파일 변경 내용에 대한 요약 보기가 표시됩니다. 파일 옆에 있는 보기 단추를 선택하여 해당 파일의 변경 내용만 봅니다. 파일이 수정된 경우 보기 단추가 diff 보기를 엽니다. 파일이 추가되거나 삭제된 경우 보기 단추가 콘텐츠 창을 엽니다.
참고 항목
성능상의 이유로 요약 보기에는 0.5MB보다 큰 파일의 변경 내용이 표시되지 않습니다.
파일의 차이 보기에서 나란히 또는 인라인 차이 레이아웃을 선택할 수 있습니다.
팁
5MB보다 큰 단일 파일의 경우 diff 보기에는 잘린 파일 콘텐츠가 표시됩니다. 전체 콘텐츠의 diff 보기를 보려면 로컬 diff 도구를 사용하여 이러한 파일을 다운로드하고 검토합니다.
왼쪽 파일 트리를 사용하여 다른 파일을 보거나 파일 트리의 루트를 선택하여 모든 파일 변경 내용에 대한 요약 보기를 볼 수 있습니다.
원본 분기에 대한 특정 푸시 에 의해 도입된 변경 집합을 검토하려면 변경 내용 드롭다운 목록에서 하나 이상의 변경 집합을 선택합니다. 하나 이상의 변경 집합을 선택하면 diff 보기가 업데이트되어 선택한 변경 집합의 변경 내용만 표시됩니다. 이 기능은 마지막 검토 이후 변경 내용이 PR에 푸시되고 새 변경 내용만 보려는 경우에 유용합니다. 변경 내용 드롭다운 목록은 각 푸시 작업의 최종 커밋에서 커밋 메시지 각 변경 집합의 이름을 지정합니다.
팁
변경 내용 드롭다운 목록에서 여러 변경 집합을 선택할 때 Shift 키를 누릅니다.
업데이트 탭을 선택하여 푸시된 모든 변경 집합을 확인하여 원본 분기 변경 내용을 놓치지 않았는지 확인합니다. 변경 집합 번호가 매겨지고 가장 최근의 변경 집합이 목록 맨 위에 표시됩니다. 각 변경 집합은 해당 푸시 작업에서 푸시된 커밋을 보여 줍니다. 강제 푸시된 변경 집합은 변경 집합 기록을 덮어쓰지 않으며 다른 변경 집합과 동일한 변경 집합 목록에 표시됩니다.
대상 분기에서 분기된 후 원본 분기의 커밋 기록을 보려면 커밋 탭을 선택합니다. PR 작성자가 다른 커밋 기록을 강제로 푸시하면 커밋 탭의 커밋 기록이 덮어쓰여지므로 커밋 탭에 표시된 커밋이 업데이트 탭에 표시된 커밋과 다를 수 있습니다.
PR 상태를 빠르게 파악하기 위해 PR 개요 탭에는 PR이 통과하거나 실패하는 검사, 요구 사항 및 분기 정책이 요약되어 있습니다. 경우에 따라 요약은 상태 확인 로그의 실패 메시지 조각을 보여 줍니다. 개요는 실패한 정책만 나열하지만, N>개 확인 보기를 <선택하여 통과된 정책 검사와 실패한 정책 검사를 모두 볼 수 있습니다.
PR 개요 탭에서 PR 설명 및 주석을 검토하여 제안된 변경 내용을 이해하고 다른 검토자가 제기한 문제를 확인할 수 있습니다.
파일 검토
PR 파일 탭을 선택하여 끌어오기 요청의 대상 분기 옆에 있는 원본 분기에 대한 실제 변경 내용을 확인합니다.
참고 항목
Azure DevOps 끌어오기 요청과 Azure DevOps 분기 비교 간의 다른 변경 내용은 다른 비교 방법으로 인해 발생합니다.
git diff 명령에는 두 개의 비교 메서드인 2점(git diff A..B
)과 3점(git diff A...B
)이 있습니다. 기본적으로 끌어오기 요청은 3점 차이로 표시되며 분기 비교에는 2점 차이 대신 표시됩니다.
예시:
C---D---E branch
/
A---B---F---G master
끌어오기 요청: git diff branch...master
C, D, E 커밋만 생성합니다.
분기 비교: git diff branch..master
C, D, E, F, G 커밋을 생성합니다.
자세한 내용은 3-dot-and-two-dot-git-diff-comparisons 및 git diff를 참조하세요.
참고 항목
선택한 단일 파일의 차이를 볼 때 파일 크기 제한은 5MB입니다. 5MB보다 큰 파일을 보고 diff하려면 로컬 diff 도구를 사용하여 파일을 다운로드하고 볼 수 있습니다. 파일 컬렉션의 차이를 볼 때 성능상의 이유로 각 파일의 크기 제한은 0.5MB입니다.
업데이트 검토
모든 업데이트 드롭다운 목록에서 이전 버전의 코드를 검토합니다 .
분기에 대한 모든 업데이트는 목록 및 PR의 업데이트 탭에 새 버전을 추가합니다 . 다른 업데이트를 선택하면 diff 보기가 업데이트되어 각 PR 버전의 파일 간 차이점을 표시합니다.
마지막 검토 이후 변경한 내용을 단계별로 실행하여 PR에서 벗어난 후 PR 업데이트를 따라잡을 수 있습니다.
업데이트 탭에서 작성 자의 변경 내용 목록을 찾습니다 .
커밋 탭의 분기에 대한 커밋에서 변경한 내용을 보고 선택합니다.
메모 사용
PR 작성자와 검토자는 PR 주석을 추가하고 응답하여 서로 통신할 수 있습니다. PR을 검토할 때 주석을 사용하여 제안된 변경 내용과 관련된 문제를 지적하고, 변경 내용을 제안하고, 이전 의견에 응답합니다. 정확하고 이해하기 쉬운 건설적인 피드백을 목표로 합니다. 받는 사람을 사용하여 받는 사람을 직접 주소 지정합니다 @username
. 를 사용하여 #workitemID
작업 항목 및 기타 PR을 참조 !pullrequestID
합니다. 경우에 따라 PR 작성자는 설명서를 위해 직접 주석을 만듭니다.
의견에 피드백 제공
피드백이 파일의 특정 줄 또는 줄 범위에 적용되는 경우 파일 내의 해당 위치에 주석을 추가합니다.
PR의 파일 탭에서 댓글을 달려는 줄을 마우스로 가리키고 메모 단추를 선택하여 줄 주석 상자를 엽니다. 여러 줄을 선택한 다음 해당 줄을 마우스로 가리키면 나타나는 메모 단추를 선택할 수도 있습니다.
메모 상자에 메모를 입력하고 메모를 선택합니다.
피드백이 전체 파일에 적용되는 경우 파일 옵션 메뉴에서 메모 추가를 선택하여 파일 수준 주석을 추가합니다.
특정 파일과 관련이 없는 일반적인 피드백을 제공하려면 개요 탭에 메모를 추가합니다.
PR 검토자는 다음 섹션에 설명된 대로 주석을 사용하여 특정 파일 줄에 대한 변경 내용을 제안할 수도 있습니다.
메모의 변경 내용 제안
주석을 사용하여 파일에서 하나 이상의 줄에 대한 대체 텍스트를 제안할 수 있습니다.
PR의 파일 탭에서 댓글을 달려는 줄을 마우스로 가리키고 메모 단추를 선택하여 줄 주석 상자를 엽니다. 여러 줄을 선택한 다음 해당 줄을 마우스로 가리키면 나타나는 메모 단추를 선택할 수도 있습니다. 허용되는 경우 제안된 콘텐츠는 메모가 추가된 줄 또는 줄을 바꿉다.
메모 상자에서 전구 아이콘을 선택하여 울타리친 코드 블록 내의 메모 상자에서 제안된 변경 내용을 적용한 다음 메모를 선택합니다. 나란히 차이 보기의 원래 코드(왼쪽)에 주석을 추가하면 전구 아이콘이 표시되지 않습니다.
PR 작성자는 다음을 통해 제안을 수락할 수 있습니다.
변경 내용 적용을 선택하여 커밋 준비 상태를 변경합니다.
모든 변경 내용 커밋을 선택하여 준비된 모든 변경 내용을 커밋합니다. PR 작성자는 변경 취소를 선택하여 제안의 스테이징을 취소할 수 있습니다.
메모 편집 또는 삭제
메모를 마우스로 가리키고 편집 또는 삭제 아이콘을 선택하여 메모를 편집하거나 삭제할 수 있습니다.
메모처럼
PR 작성자와 검토자는 댓글 위에 마우스를 놓고 엄지 손가락 위로 아이콘을 선택하여 자신의 의견이나 다른 사람의 의견을 좋아할 수 있습니다.
좋아요가 있는 댓글은 엄지 손가락 위로 채워진 아이콘과 좋아요 수를 표시합니다. 댓글을 좋아하는 사람들의 목록을 보려면 엄지 손가락 위로 마우스를 가져 주세요.
메모에 회신
PR 작성자는 의견에 회신하여 검토자가 피드백 및 제안을 처리하는 방법을 알려야 합니다.
메모에 회신하려면 회신 작성 필드에 응답을 입력합니다. 받는 사람을 사용하여 받는 사람을 직접 주소 지정합니다
@username
. 를 사용하여#workitemID
작업 항목 및 기타 PR을 참조!pullrequestID
합니다.응답을 입력한 후 회신을 선택하고 응답이 최종적인 경우 확인 합니다. 그렇지 않으면 회신을 선택합니다.
회신 및 해결을 선택하면 메모 상태가 해결됨으로 변경됩니다. PR 작성자는 다음 섹션에 설명된 대로 주석의 상태를 직접 변경할 수도 있습니다.
메모 상태 변경
새 주석에는 처음에는 PR 작성자가 검토자 피드백 및 제안을 처리하는 방법을 나타내기 위해 PR 작성자가 업데이트하는 활성 상태가 있습니다. PR 작성자는 상태 드롭다운 목록에서 주석 상태를 선택할 수 있습니다.
활성: 새 주석의 기본 상태입니다.
보류 중: 이 주석의 문제가 검토 중이며 다른 것을 기다리고 있습니다.
해결됨: 이 주석의 문제가 해결되었습니다.
수정되지 않음: 이 주석의 문제가 언급되었지만 수정되지는 않습니다.
닫힘: 이 주석의 토론이 닫힙니다.
PR 작성자 및 검토자는 다음 섹션에 설명된 대로 주석 상태를 필터링하여 PR 진행률을 추적할 수 있습니다.
PR에 주석을 추가하여 제안하고, 이전 의견에 회신하고, 제안된 변경 내용과 관련된 문제를 지적합니다.
댓글을 달려는 줄을 마우스로 가리키고 메모 단추를 선택하여 PR의 파일 탭에서 인라인으로 댓글을 달 수 있습니다.
개요 탭에 주석을 달아 특정 코드 줄에 연결되지 않은 피드백을 제공합니다.
작성자 또는 다른 검토자에게 댓글을 직접 처리하고 , 를 사용하여
@username
#workitemID
작업 항목을 참조합니다. 를 사용하여!pullrequestID
다른 PR을 참조할 수도 있습니다.
메모 편집, 삭제 또는 좋아요
메모를 편집하거나 삭제하려면 메모를 마우스로 가리키고 연필 아이콘을 선택하여 메모를 편집하거나 가비지 아이콘을 선택하여 메모를 삭제합니다.
사용자 또는 다른 사람의 댓글을 좋아하려면 댓글 위로 마우스를 가져가서 엄지 손가락 위로 아이콘을 선택합니다. 좋아요가 있는 댓글은 채워진 아이콘과 댓글 목록의 좋아요 수를 표시합니다. 아이콘을 마우스로 가리키면 댓글을 좋아하는 사용자 목록이 표시됩니다.
메모처럼
사용자 또는 다른 사람이 만든 메모를 좋아하려면 하트 아이콘을 선택합니다. 메모의 아이콘을 마우스로 가리키면 댓글을 좋아하는 사람들의 목록을 볼 수 있습니다.
메모 필터링
메모 필터 드롭다운 목록에서 필터 옵션을 선택하여 개요 탭에 표시되는 메모 또는 업데이트를 선택할 수 있습니다. 예를 들어 PR을 마지막으로 연 이후 새 메모 및 업데이트를 보려면 새 필터 옵션을 선택합니다. 각 필터 옵션은 해당 범주에 대한 항목 수를 표시합니다.
개요 탭에서 표시할 메모 및 업데이트를 선택할 수 있습니다. 일부 메모와 업데이트를 숨기면 코드를 처음 검토할 때 방해가 됩니다. PR을 마지막으로 방문한 이후의 새로운 기능만 표시할 수 있습니다.
메모 및 업데이트를 필터링하려면 메모 목록 위에 있는 모든 항목 표시(n) 단추를 선택하고 필터링 옵션 중 하나를 선택합니다. 선택한 메모 및 업데이트만 표시하도록 보기가 변경됩니다. 단추 레이블이 변경되어 필터링 조건과 표시된 항목 수가 표시됩니다.
주석 주소 지정
웹 코드의 파일 탭 에서 직접 분기를 빠르게 업데이트할 수 있습니다.
메모 회신 및 해결
메모에 회신하고 메모 상태를 업데이트하여 검토자에게 의견과 제안 사항을 처리하는 방법을 알 수 있습니다.
- 회신하지 않고 메모를 해결하려면 메모 아래에서 해결을 선택합니다.
- 메모에 회신하려면 회신 작성 필드에 응답을 입력하고 회신을 선택합니다.
- 메모에 회신하고 해결하려면 회신 작성 필드에 응답을 입력하고 회신 및 해결을 선택합니다.
- 회신에서 사용하여
@username
특정 검토자에게 회신하고#workitemID
. 를 사용하여!pullrequestID
다른 PR을 참조할 수도 있습니다.
새 주석은 활성 상태에서 시작됩니다. 해결 또는 회신을 선택하여 메모 상태를 해결됨으로 업데이트합니다.
주석 확인 드롭다운 목록에서 더 많은 옵션을 사용할 수 있습니다.
- 활성: 주석은 아직 검토 중입니다.
- 보류 중: 이 주석의 문제가 해결되지만 아직 해결되지 않았습니다.
- 해결됨: 이 주석에서 발생한 문제가 해결되었습니다.
- 수정되지 않음: 주석의 제안이 적어졌지만 이 PR은 이를 다루지 않습니다.
- 닫힘: 이 메모에 대한 토론이 닫힙니다.
이미 검토된 파일을 추적하려면 PR의 파일 옆에 있는 추가 옵션을 선택한 다음 검토된 대로 표시를 선택합니다.
파일 편집
편의를 위해 PR 작성자는 Azure Repos에서 직접 파일을 편집할 수 있습니다. 예를 들어 검토자의 제안된 코드 변경을 수락하고 다른 곳에서도 비슷한 변경을 수행할 수 있습니다.
리포지토리 파일을 선택하고, PR 원본 분기를 선택하고, 파일을 선택한 다음, 편집을 선택합니다.>
편집기에서 변경한 다음 커밋을 선택하여 커밋 대화 상자를 엽니다.
커밋 대화 상자에서 필요한 경우 커밋 메시지 편집한 다음 커밋 을 선택하고 변경 내용을 PR에 푸시합니다.
PR 변경에 투표
PR 검토자는 투표 드롭다운 목록에서 투표 옵션을 선택하여 PR에 투표할 수 있습니다. PR 페이지의 검토자 아이콘에 투표 표시가 표시됩니다.
투표 옵션은 다음과 같습니다.
승인: PR에서 제안된 변경 내용을 승인합니다. 이 옵션은 단지 투표일 뿐이며 PR을 승인하지 않습니다.
제안 사항으로 승인: 개선에 대한 선택적 제안과 함께 PR에서 제안된 변경 내용을 승인합니다. 이 옵션은 단지 투표일 뿐이며 PR을 승인하지 않습니다.
작성자 대기: 검토자 의견을 검토하도록 작성자에게 요청합니다. PR 작성자는 PR 작성자가 주석을 처리한 후 검토자에게 코드를 다시 검토하도록 알려야 합니다. 필요한 검토자가 이 투표 옵션을 설정하는 경우 투표는 PR 승인을 차단합니다.
거부: 변경 내용이 허용되지 않음을 나타냅니다. 이 옵션을 선택하면 이유를 설명하는 설명을 추가합니다. 필요한 검토자가 이 투표 옵션을 설정하는 경우 투표는 PR 승인을 차단합니다.
피드백 재설정: 투표를 지웁니다. 투표의 부재는 PR이 완료되는 것을 방지하지 않습니다.
PR의 오른쪽 위에 있는 단추를 사용하여 PR 변경 내용에 투표합니다. 기본 옵션은 승인이지만 드롭다운 목록에서 다른 옵션을 선택할 수 있습니다.
- 승인: PR에서 제안된 변경 내용을 승인합니다.
- 제안 사항으로 승인: PR을 승인하지만 개선에 대한 선택적 제안을 제공합니다.
- 작성자 대기: 변경 내용을 승인하지 말고 작성자에게 의견을 검토하도록 요청하세요. 작성자가 문제를 해결한 후 코드를 다시 검토하도록 알려야 합니다.
- 거부: 변경 내용은 허용되지 않습니다. 이유를 설명하기 위해 PR에 의견을 남겨 둡니다.
- 피드백 다시 설정: 투표를 제거합니다.
PR 완료
PR 작성자는 PR 확인 옵션을 선택할 수 있습니다.
완료: 모든 필수 검토자가 승인하고 필요한 모든 분기 정책을 충족하는 경우 PR을 완료합니다.
자동 완성 설정: 모든 필수 검토자가 승인하고 필요한 모든 분기 정책이 충족되면 PR을 자동으로 완료합니다.
초안으로 표시: PR을 초안 상태로 설정하여 검토할 준비가 되지 않음을 나타냅니다. 초안 PR의 경우 게시를 선택하여 초안 상태를 제거하고 검토할 준비가 되도록 표시할 수 있습니다.
포기: PR을 닫습니다. 중단된 PR의 경우 다시 활성화를 선택하여 복원할 수 있습니다.
PR 완료에 대한 자세한 내용은 끌어오기 요청 완료를 참조하세요.