끌어오기 요청 검토 및 제출

완료됨

PR(끌어오기 요청)은 Learn 플랫폼에 대한 지식을 가져오기 위한 티켓입니다. PR을 만들었지만 대상 리포지토리의 PR 큐에 아직 제출되지 않았습니다. 많은 오픈 소스 프로젝트와 마찬가지로 게시하기 전에 변경 내용의 유효성을 검사하기 위해 일련의 유효성 검사와 검토가 이루어집니다.

PR 분석

Screenshot of an open pull request.

PR에는 PR을 만든 GitHub 사용자, 대상 리포지토리, PR이 만들어진 분기가 표시됩니다. PR 상단에는 다음을 포함한 여러 탭이 포함되어 있습니다.

  • 대화 탭: 다른 협력자의 댓글을 보고 회신할 수 있고, 빌드 및 검토 프로세스 전반에 걸쳐 알림 목록을 확인하고, 댓글 자동화를 사용하여 작업을 수행할 수 있는 대시보드입니다.
  • 커밋 탭: 해당 분기에 적용된 변경 내용에 대한 기록입니다.
  • 변경된 파일 탭: PR에서 변경된 파일을 이전 상태와 비교합니다.

업데이트나 알림이 표시되고 사용자, 검토자 및 다른 협력자 간의 토론이 이루어지는 대화 탭에 주의를 기울이세요. 여기에 해시태그 댓글을 추가하여 작업(예: PR을 승인하여 유효성 검사 및 병합 준비가 되었음을 나타내거나 프로세스를 일시 중지해야 하는 경우 보류)을 수행할 수도 있습니다.

PR에는 검토 준비가 되지 않은 초안 PR을 지정하는 draft, 새롭거나 검토되지 않은 PR의 경우 do-not-merge와 같이 상태를 나타내기 위해 레이블이 첨부되는 경우가 많습니다.

유효성 검사

PR을 대상 분기에 병합하려면 먼저 하나 이상의 PR 유효성 검사 프로세스를 통과해야 할 수 있습니다. 끌어오기 요청 만들기를 선택하면 GitHub는 리포지토리에 대해 구성된 유효성 검사를 실행합니다. 유효성 검사 프로세스가 완료되면 결과가 PR에 표시됩니다.

유효성 검사 프로세스는 제안된 변경 범위와 대상 리포지토리의 규칙에 따라 다릅니다. PR을 제출한 후에는 다음 중 하나 이상이 발생할 것으로 예상할 수 있습니다.

  • 병합 가능성: 기본 GitHub 병합 가능성 테스트가 먼저 수행되어 분기에서 제안된 변경 내용이 대상 분기와 충돌하는지 여부를 확인합니다. PR에 이 테스트가 실패했다고 표시되면 처리를 계속하기 전에 병합 충돌을 일으키는 콘텐츠를 조정해야 합니다.
  • 기여 라이선스 계약(CLA): 공용 리포지토리에 기여하고 있지만 Microsoft 직원이 아닌 경우 제안된 변경 내용의 규모에 따라 해당 리포지토리에 PR을 처음 제출할 때 짧은 CLA를 완료하라는 요청을 받을 수 있습니다. CLA 단계가 완료되면 PR이 처리됩니다.
  • 레이블 지정: PR의 유효성이 검사 워크플로를 통과할 때 PR 상태를 나타내기 위해 PR에 레이블이 자동으로 적용됩니다. 예를 들어, 새 PR은 PR의 유효성이 검사, 검토 및 승인 단계를 아직 완료하지 않았음을 나타내는 "병합 안 함" 레이블을 자동으로 받을 수 있습니다.
  • 유효성 검사 및 빌드: 자동화된 검사는 변경 내용의 유효성 검사 테스트 통과 여부를 확인합니다. 유효성 검사 테스트에서는 PR을 병합하기 전에 PR에 있는 하나 이상의 파일을 변경해야 하는 경고 또는 오류가 발생할 수 있습니다. 유효성 검사 테스트 결과는 사용자의 검토를 위해 사용자의 PR에 댓글로 추가되며 사용자에게 이메일로도 전송될 수도 있습니다.
  • 스테이징: 변경 내용의 영향을 받는 문서 페이지는 성공적인 유효성 검사 및 빌드에 대한 검토를 위해 자동으로 스테이징 환경에 배포될 수 있습니다. PR 주석에 미리 보기 URL이 표시됩니다.
  • 자동 병합: PR은 유효성 검사 테스트와 특정 기준을 통과하면 자동으로 병합될 수 있습니다. 이 경우 다른 작업을 수행할 필요가 없습니다.

검토 및 승인

거의 완료되었습니다. 모든 PR 처리가 완료된 후 병합을 승인하기 전에 결과(예: PR 댓글, 미리 보기 URL)를 검토하여 추가 변경이 필요한지 확인하는 것이 가장 좋습니다. PR 검토자가 사용자의 PR을 검토한 경우, 병합을 방해하는 미해결 문제나 질문이 있는 경우 댓글을 통해 피드백을 제공할 수도 있습니다.

댓글 자동화를 사용하여 PR에서 중요한 작업을 수행합니다. 댓글 자동화를 통해 사용자는 PR에 적절한 레이블을 할당하여 상태를 업데이트하거나 분류할 수 있습니다. 댓글 자동화가 구현된 리포지토리에서 작업하는 경우 해시태그 댓글을 사용하여 레이블을 할당 또는 변경하고, PR을 닫거나, 병합을 일시 중지합니다. 예를 들어, 변경 작업을 마친 후 "#sign-off" 댓글을 입력하여 PR 레이블을 do-not-merge에서 ready-for-review.로 변경합니다.

PR에서 주요 작업을 수행하려면 다음 표의 댓글을 사용합니다.

해시태그 댓글 수행하는 작업
#sign-off 리포지토리의 검토자가 PR이 검토/병합할 준비가 되었음을 알 수 있도록 병합 준비 완료 레이블을 자동으로 할당합니다.

나열된 작성자가 아닌 경우 #sign-off 댓글을 사용하여 공용 리포지토리 PR에서 승인을 시도하면 작성자만 레이블을 할당할 수 있음을 나타내도록 PR이 업데이트됩니다.
#hold-off 마음이 바뀌거나 실수를 한 경우를 대비해 병합 준비 완료 레이블을 제거합니다.
#please-close 변경 내용을 병합하지 않기로 결정한 경우 PR을 닫습니다.
#please-open 닫힌 PR 또는 문제를 다시 엽니다.

변경 내용을 병합하려면 #sign-off 댓글을 입력해야 합니다. 모든 검토 및 유효성 검사 검사가 통과되더라도 이 댓글을 사용하여 PR 검토자와 리포지토리 관리자에게 변경 내용이 병합될 준비가 되었음을 알려야 할 책임이 있습니다. 검토자가 PR에 문제가 없고 승인되었다고 판단하면 변경 내용이 부모 분기에 다시 병합되고 PR이 종료됩니다.

Screenshot of the comment box on a PR with #sign-off typed into the comment field and the Comment button highlighted.

게시 중

변경 내용이 예정된 다음 게시 실행에 포함되기 전에 PR 검토자가 PR을 병합해야 한다는 점을 기억합니다. 일반적으로 PR은 제출 순서대로 검토 및 병합됩니다.

참여가 승인되고 병합되면 게시 프로세스에서 선택합니다. 사용자가 기여하고 있는 리포지토리를 관리하는 팀에 따라 게시 시간이 다를 수 있지만 일반적으로 일주일에 한 번 이상 발생합니다. 문서를 게시한 후에 온라인에 표시하는 데 45분이 걸릴 수 있습니다.

변경 내용이 게시되면 다른 사람들이 학습을 시작할 수 있도록 Microsoft Learn에 게시됩니다!

시나리오: Azure App Service에 변경 내용 게시

과거 환경을 바탕으로 App Service 설명서 페이지에 몇 가지 유용한 정보를 추가할 수 있는 기회를 발견하고 변경 내용을 추가하기 위한 PR을 만들었습니다. 이제 편집 내용을 게시하기 위해 PR을 검토하고 승인할 준비가 되었습니다.