끌어오기 요청 정보
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
PR(끌어오기 요청)은 Azure Repos의 Git 리포지토리에서 코드를 변경, 검토 및 병합하는 방법입니다. PR은 동일한 리포지토리 내의 분기 또는 리포지토리의 포크에 있는 분기에서 올 수 있습니다. Teams는 코드를 주 분기에 병합하기 전에 PR을 사용하여 코드를 검토하고 변경 내용에 대한 피드백을 제공합니다. 검토자는 제안된 변경 내용을 단계별로 실행하고, 의견을 남기며, 코드를 승인하거나 거부할 수 있습니다.
이 문서에서는 끌어오기 요청 지침 및 관리 고려 사항에 대해 설명합니다. 끌어오기 요청을 만들고, 보고, 검토하고, 완료하는 방법에 대한 지침은 다음 문서를 참조하세요.
참고 항목
성능 및 안정성상의 이유로 끌어오기 요청에 추가할 수 있는 검토자 수는 1000개 미만이어야 합니다. 1000명 이상의 검토자를 추가할 때는 새 끌어오기 요청이 생성되지 않으며, 기존 끌어오기 요청에서는 1000개 이상의 검토자를 추가할 수 없습니다.
사용 권한 및 필수 구성 요소
프로젝트에서 리포지토리 를 사용하도록 설정해야 합니다. 리포지토리 허브 및 연결된 페이지가 표시되지 않는 경우 Azure DevOps 서비스를 다시 사용하도록 설정 또는 해제를 참조하세요.
PR을 보거나 검토하려면 기본 액세스 이상의 Azure DevOps 프로젝트의 멤버여야 합니다.
- 프로젝트가 없는 경우 프로젝트를 만들거나 무료로 등록하세요.
- 프로젝트 멤버 가 아닌 경우 추가됩니다.
PR에 기여하려면 읽기 권한자 보안 그룹의 구성원이거나 해당 권한이 있어야 합니다.
PR을 만들고 완료하려면 참가자 보안 그룹의 구성원이거나 해당 권한이 있어야 합니다.
참고 항목
퍼블릭 프로젝트의 경우 이해 관계자 액세스 권한이 부여된 사용자는 Azure Repos에 대한 모든 권한을 갖습니다.
- 프로젝트에서 리포지토리 를 사용하도록 설정해야 합니다. 리포지토리 허브 및 연결된 페이지가 표시되지 않는 경우 Azure DevOps 서비스를 다시 사용하도록 설정 또는 해제를 참조하세요.
- PR을 보거나 검토하려면 기본 액세스 이상의 Azure DevOps 프로젝트의 멤버여야 합니다. 프로젝트 멤버 가 아닌 경우 추가됩니다.
- PR에 기여하려면 읽기 권한자 보안 그룹의 구성원이거나 해당 권한이 있어야 합니다.
- PR을 만들고 완료하려면 참가자 보안 그룹의 구성원이거나 해당 권한이 있어야 합니다.
권한 및 액세스에 대한 자세한 내용은 기본 Git 리포지토리 및 분기 권한 및 액세스 수준 정보를 참조하세요.
끌어오기 요청에 대한 품질 피드백
고품질의 검토는 고품질의 피드백으로부터 시작됩니다. 다음은 훌륭한 PR 피드백의 몇 가지 키입니다.
- PR 소유자는 적절한 사용자가 PR을 검토하고 검토자가 코드가 수행하는 작업을 알고 있는지 확인해야 합니다.
- 검토자는 실행 가능하고 건설적인 피드백을 제공해야 합니다.
- 소유자와 검토자는 신속하게 의견을 말하고 회신해야 합니다.
PR 소유자는 다음을 수행해야 합니다.
- PR에 할당할 올바른 검토자를 선택해야 합니다.
- 코드의 작동 방식을 알고 있는 검토자를 포함합니다.
- 다른 영역에서 작업하는 개발자에게 아이디어를 공유하도록 요청합니다.
- 변경 내용에 대한 명확한 설명을 제공합니다.
- 끌어오기 요청 템플릿을 사용하여 검토자 지침을 제공합니다.
- 코드에서 실행 중인 수정 사항 또는 기능을 사용하여 코드 빌드를 제공합니다.
- 의견에 회신하거나, 제안을 수락하거나, 제안된 변경 내용이 적합하지 않은 이유를 설명합니다.
- PR 범위를 벗어나는 좋은 제안의 경우 새 작업 항목, 분기 및 PR을 만들어 변경합니다.
검토자는 다음 작업을 수행해야 합니다.
- 동의하지 않는 변경 내용에 대한 피드백 제공
- 문제를 식별하고 다르게 수행할 사항에 대한 구체적인 제안 사항 제공
- 피드백에 명확한 의도가 있고 이해하기 쉬운지 확인합니다.
- 메모를 남기거나 변경 내용에 투표
자세한 내용은 Git 끌어오기 요청을 사용하여 피드백 가져오기를 참조 하세요.
분기 정책 및 끌어오기 요청
팀은 리포지토리의 중요한 분기(예: main
분기)를 항상 양호한 상태로 사용할 수 있습니다. 이러한 보호된 분기 변경 내용에 대해 PR을 요구하도록 분기 정책을 설정하고 분기에 직접 푸시된 변경 내용을 거부할 수 있습니다.
PR에 더 많은 정책을 추가하여 키 분기에서 더 나은 코드 품질을 적용할 수 있습니다. 제안된 코드의 클린 빌드 또는 여러 검토자의 승인과 같은 추가 요구 사항은 키 분기를 보호하는 데 도움이 될 수 있습니다.
분기 정책에서 PR에 필요한 승인 수를 설정할 수 있습니다. 또한 모든 또는 특정 PR에서 특정 검토자를 필수 또는 선택적으로 설정할 수도 있습니다. PR은 다른 검토자가 변경 내용을 거부하는 경우에도 필요한 승인 수로 자동 완성되도록 설정할 수 있습니다. 그러나 필수 검토자는 PR을 병합하기 전에 PR을 승인해야 합니다. 두 명 이상의 검토자가 중요한 PR의 변경 내용을 검토하고 승인하는 것이 가장 좋습니다.
PR 작성자가 새 변경 내용을 푸시할 때마다 투표를 다시 설정하려면 최소 검토자 분기 정책 수에 새 변경 내용이 있을 때 코드 검토자 투표 재설정을 선택합니다.
다음 표에서는 분기를 사용자 지정하기 위해 정의할 수 있는 정책을 요약합니다. 모든 리포지토리 및 분기 정책 및 설정에 대한 개요는 Git 리포지토리 설정 및 정책을 참조하세요.
정책
기본값
설명
끄기
끌어오기 요청에 대한 지정된 인원의 검토자 승인이 필요합니다.
끄기
끌어오기 요청에서 연결된 작업 항목을 확인하여 추적 가능성 향상
끄기
끌어오기 요청에 대한 모든 설명이 확인되었는지 검사합니다.
끄기
끌어오기 요청이 완료될 때 사용 가능한 병합 유형을 제한하여 분기 기록을 제어합니다.
끄기
끌어오기 요청 변경 내용을 미리 병합하고 빌드하여 코드의 유효성을 검사하는 정책을 하나 이상 추가합니다. 정책을 사용하거나 사용하지 않도록 설정할 수도 있습니다.
끄기
끌어오기 요청을 완료하기 위해 다른 서비스가 성공적인 상태를 게시하도록 요구하는 정책을 하나 이상 추가합니다. 정책을 사용하거나 사용하지 않도록 설정할 수도 있습니다.
끄기
끌어오기 요청이 특정 코드 영역을 변경할 때 자동으로 포함하도록 코드 검토자를 지정하는 정책을 하나 이상 추가합니다. 정책을 사용하거나 사용하지 않도록 설정할 수도 있습니다.
자세한 내용은 다음을 참조하세요.
코드 품질을 개선하기 위한 상태 확인 정의
끌어오기 요청 및 분기 정책을 사용하면 팀에서 코드를 검토하고 자동화된 빌드를 실행하기 위한 모범 사례를 적용할 수 있습니다. 많은 팀에서 코드에 대해 수행할 추가 요구 사항 및 유효성 검사가 있습니다. 이러한 요구 사항을 충족하기 위해 PR 상태 확인 PR 워크플로에 통합할 수 있습니다. PR 상태 확인 통해 외부 서비스는 성공 또는 실패 정보를 PR과 연결하여 코드 변경에 대해 프로그래밍 방식으로 로그오프할 수 있습니다.
자세한 내용은 다음 문서를 참조하세요.
여러 병합 기반 문제
경우에 따라 PR에 두 개 이상의 실제 병합 기반이 있으며 이 경우 보안 문제가 발생할 수 있습니다. PR에 있는 파일의 병합 기반 간에 버전이 다른 경우 다중 병합 기반 경고가 발생합니다. 자세한 내용 및 수정은 여러 병합 기반을 참조 하세요.