# 끌어오기 요청 정보

끌어오기 요청을 사용하면 코드 변경 내용을 제안, 검토 및 병합할 수 있습니다.

끌어오기 요청은 코드 변경 내용을 프로젝트에 병합하는 제안입니다. 끌어오기 요청은 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>
```

## 끌어오기 요청 작업

끌어오기 요청의 **대화** 탭에는 변경 내용에 대한 설명, 이벤트의 타임라인, 공동 작업자의 의견 및 리뷰가 표시됩니다. 이 중앙 허브를 사용하면 제안된 변경 내용의 토론 및 진행률을 추적할 수 있습니다.

```
          **커밋** 탭에는 끌어오기 요청 분기에 대한 모든 커밋이 시간순으로 표시됩니다. 이렇게 하면 개발 기록을 이해하고 시간이 지남에 따라 변경 내용이 어떻게 진화했는지 확인할 수 있습니다.

          **검사** 탭에는 커밋을 푸시할 때 실행되는 자동화된 테스트, 빌드 또는 기타 연속 통합 워크플로의 상태가 표시됩니다. 이러한 검사는 병합하기 전에 변경 내용이 품질 표준을 충족하는지 확인하는 데 도움이 됩니다.

          **파일 변경** 탭에는 제안된 변경 내용과 기존 코드 간의 차이점이 표시되므로 끌어오기 요청이 병합될 때 변경될 내용을 쉽게 확인할 수 있습니다.
```

## 초안 끌어오기 요청

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

```
          끌어오기 요청에 대한 피드백을 받을 준비가 되면 초안 끌어오기 요청을 검토 준비 상태로 표시할 수 있습니다. 끌어오기 요청을 검토 준비 상태로 표시하면 모든 코드 소유자의 검토가 요청됩니다. 언제든지 끌어오기 요청을 초안으로 변환할 수 있습니다. 
          [AUTOTITLE](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/changing-the-stage-of-a-pull-request)을(를) 참조하세요.
```

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

끌어오기 요청을 열면 GitHub 최대 두 개의 임시 읽기 전용 Git 참조를 만듭니다.

| 참조                                    | 설명                                                                                                      |
| ------------------------------------- | ------------------------------------------------------------------------------------------------------- |
| `refs/pull/PULL_REQUEST_NUMBER/head`  | 풀 리퀘스트의 헤드 브랜치에서 최신 커밋을 가리킵니다.                                                                          |
| `refs/pull/PULL_REQUEST_NUMBER/merge` | 병합 브랜치 - 현재 끌어오기 요청이 병합된 경우 리포지토리의 상태를 나타내는 시뮬레이션된 병합 커밋입니다. 이 ref는 끌어오기 요청에 병합 충돌이 없는 경우에만 사용할 수 있습니다. |

헤드 분기 또는 기본 분기가 변경되면 병합 분기가 자동으로 업데이트됩니다. 로컬로 가져오려면 다음을 수행합니다.

```shell
git fetch origin refs/pull/PULL_REQUEST_NUMBER/merge
git checkout FETCH_HEAD
```

```
          `PULL_REQUEST_NUMBER`를 풀 리퀘스트 번호로 바꾸세요.

          GitHub Actions에서 병합 브랜치를 사용하는 방법에 대한 자세한 내용은 [AUTOTITLE](/actions/reference/workflows-and-actions/events-that-trigger-workflows#how-the-merge-branch-affects-your-workflow)을 참조하세요.
```

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

비교 및 끌어오기 요청 페이지는 다른 메서드를 사용하여 변경된 파일에 대한 Diff 계산을 수행합니다.

* 비교 페이지에는 헤드 참조의 끝과 헤드 및 기본 참조의 현재 공통 상위 항목(즉, 병합 기준) 사이의 Diff가 표시됩니다.
* 끌어오기 요청 페이지에는 끌어오기 요청이 생성되었을 때 헤드 참조의 끝과 헤드 및 기본 참조의 공통 상위 항목 사이의 Diff가 표시됩니다. 따라서 비교에 사용되는 병합 기준이 다를 수 있습니다.

## 추가 참고 자료

* [끌어오기 요청 만들기](/ko/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request)
* [브랜치 정보](/ko/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-branches)
* [끌어오기 요청에 대한 주석 추가](/ko/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/commenting-on-a-pull-request)