# 끌어오기 요청

끌어오기 요청을 사용하여 코드 변경 내용을 제안, 검토 및 병합하여 효과적으로 공동 작업하고 코드 품질을 유지합니다.

끌어오기 요청은 코드 변경 내용을 프로젝트에 병합하는 제안입니다. 끌어오기 요청은 GitHub병합하기 전에 변경 내용을 논의하고 검토할 수 있는 주요 **공동 작업 기능**입니다. 이를 통해 팀은 함께 작업하고, 문제를 조기에 파악하고, 코드 품질을 유지할 수 있습니다.

<a href="https://github.com/pulls?ref_product=github&ref_type=engagement&ref_style=button" target="_blank" class="btn btn-primary mt-3 mr-3 no-underline">
<span>끌어오기 요청 보기</span><svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-link-external" aria-label="link external icon" role="img"><path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path></svg></a>

## 끌어오기 요청 작업

풀 리퀘스트는 검토자가 변경 사항을 이해하는 데 필요한 맥락을 한데 모아 제공합니다. 이 컨텍스트는 탭으로 구성됩니다.

* **대화** 탭에는 설명, 타임라인, 메모 및 리뷰가 표시됩니다.
* **커밋** 탭은 시간이 지남에 따라 끌어오기 요청 분기가 어떻게 변경되었는지 보여 줍니다.
* **검사** 탭에는 자동화된 테스트, 빌드 및 기타 유효성 검사가 표시됩니다.
* **변경된 파일** 탭에는 검토자가 제안된 변경 내용을 이해하는 데 사용하는 차이가 표시됩니다.
* **결과** 탭에는 제안된 변경 내용에 대한 코드 검사 경고와 같은 자동화된 코드 검토 결과가 표시됩니다.

**병합 상태는** 탭과 별도로 병합 전에 차단기, 누락된 승인 및 기타 요구 사항을 강조 표시합니다. 끌어오기 요청 헤더 및 병합 상자에 표시됩니다.

이러한 보기를 통해 작성자와 검토자는 변경 내용을 논의하고 피드백을 추적하며 끌어오기 요청을 병합할 준비가 된 시기를 결정할 수 있습니다.

## 끌어오기 요청 초안

끌어오기 요청을 만들 때 초안 끌어오기 요청으로 만들도록 선택할 수 있습니다. 초안 끌어오기 요청은 병합할 수 없으며 코드 소유자는 자동으로 검토하도록 요청되지 않습니다. 초안은 공식적으로 검토를 요청하지 않고 진행 중인 작업을 공유하려는 경우에 유용합니다.

끌어오기 요청에 대한 피드백을 받을 준비가 되면 초안 끌어오기 요청을 검토 준비 상태로 표시할 수 있습니다. 끌어오기 요청을 검토 준비 상태로 표시하면 모든 코드 소유자의 검토가 요청됩니다. 언제든지 끌어오기 요청을 초안으로 변환할 수 있습니다.
[풀 리퀘스트의 단계 변경](/ko/enterprise-server@3.18/pull-requests/how-tos/create-pull-requests/changing-the-stage-of-a-pull-request)을(를) 참조하세요.

## 풀 리퀘스트 ref 및 병합 브랜치

끌어오기 요청을 열 때 끌어오기 요청 GitHub 의 헤드 분기를 가리키고 가능한 경우 시뮬레이션된 병합 결과를 가리키는 임시 Git 참조를 만듭니다. 이러한 refs는 GitHub 및 통합이 기본 브랜치를 변경하지 않고 풀 리퀘스트를 평가할 수 있도록 도와줍니다.

대부분의 기여자에게는 이러한 참조가 백그라운드에 머무릅니다. 자동화를 빌드하거나 CI 동작을 디버깅하거나 끌어오기 요청 상태를 로컬로 가져올 때 가장 관련이 있습니다.
GitHub Actions에서 병합 브랜치를 사용하는 방법에 대한 자세한 내용은 [워크플로를 트리거하는 이벤트](/ko/enterprise-server@3.18/actions/reference/workflows-and-actions/events-that-trigger-workflows#how-the-merge-branch-affects-your-workflow)을 참조하세요.

## 비교 및 끌어오기 요청 페이지의 커밋 간 차이점

페이지를 비교하고 끌어오기 요청 페이지는 다른 병합 기반에서 변경된 파일을 계산할 수 있습니다. 따라서 동일한 분기가 각 위치에서 서로 다른 차이로 표시될 수 있습니다.

이는 일반적으로 끌어오기 요청이 생성된 이후 기본 분기가 변경된 경우에 중요합니다. 끌어오기 요청 페이지는 끌어오기 요청이 도입된 내용에 초점을 맞추고 비교 페이지는 두 ref 간의 현재 비교를 반영합니다.

## 공동 개발 모델

끌어오기 요청을 사용하는 방법은 프로젝트에서 사용하는 개발 모델의 유형에 따라 달라집니다. 포크 및 끌어오기 모델 또는 공유 리포지토리 모델을 사용할 수 있습니다.

### 포크 및 풀 모델

포크 및 끌어오기 모델에서 읽기 권한이 있고 업스트림 리포지토리의 소유자가 허용하는 경우 누구나 기존("업스트림") 리포지토리를 포크할 수 있습니다. 포크와 업스트림은 동일한 Git 데이터를 공유합니다. 즉, 포크에 업로드된 모든 콘텐츠는 업스트림 및 해당 업스트림의 다른 모든 포크에서 액세스할 수 있습니다.

만든 포크로 푸시하려면 업스트림 리포지토리의 권한이 필요하지 않습니다. 선택적으로 업스트림 리포지토리에 대한 푸시 액세스 권한이 있는 모든 사람이 당겨받기 요청 분기를 변경하도록 허용할 수 있습니다. 이 모델은 오픈 소스 프로젝트에서 널리 사용되는데, 이는 새 참가자의 마찰을 줄이고 선행 조정 없이 독립적으로 작업할 수 있기 때문입니다.

> \[!TIP]
> 오픈 소스, 특히 오픈 소스 프로젝트를 만들고 성장시키는 방법에 대한 자세한 내용을 제공하기 위해 건강한 오픈 소스 커뮤니티를 육성하는 데 도움이 되는 [오픈 소스 가이드](https://opensource.guide/)를 만들었습니다.또한 오픈 소스 커뮤니티를 유지 관리하기에 관한 무료 [GitHub Skills](https://skills.github.com/) 과정을 이수할 수도 있습니다.

### 공유 리포지토리 모델

공유 리포지토리 모델에서 공동 작업자는 단일 공유 리포지토리에 대한 푸시 액세스 권한을 가지며 변경해야 할 때 토픽 분기를 만듭니다. 끌어오기 요청은 변경 내용이 주 개발 분기에 병합되기 전에 코드 검토 및 변경 내용 집합에 대한 일반적인 토론을 시작하기 때문에 이 모델에서 유용합니다. 이 모델은 소규모 팀과 조직이 프라이빗 프로젝트에서 공동 작업하는 경우 더 일반적입니다.

## 추가 읽기

* [끌어오기 요청 만들기](/ko/enterprise-server@3.18/pull-requests/how-tos/create-pull-requests/creating-a-pull-request)
* [Branches](/ko/enterprise-server@3.18/pull-requests/reference/branches)
* [끌어오기 요청에 대한 주석 추가](/ko/enterprise-server@3.18/pull-requests/how-tos/review-pull-requests/commenting-on-a-pull-request)
* [Creating a pull request from a fork](/ko/enterprise-server@3.18/pull-requests/how-tos/create-pull-requests/creating-a-pull-request-from-a-fork)
* [Allowing changes to a pull request branch created from a fork](/ko/enterprise-server@3.18/pull-requests/how-tos/work-with-forks/allowing-changes-to-a-pull-request-branch-created-from-a-fork)