Skip to main content
설명서에 자주 업데이트를 게시하며 이 페이지의 번역이 계속 진행 중일 수 있습니다. 최신 정보는 영어 설명서를 참조하세요.

로컬에서 끌어오기 요청 체크 아웃

누군가가 리포지토리의 포크 또는 분기에서 끌어오기 요청을 보내면 로컬에서 병합하여 병합 충돌을 해결하거나 GitHub에 병합하기 전에 변경 내용을 테스트하고 확인할 수 있습니다.

이 기능을 사용할 수 있는 사용자

Anyone with write access to a repository can pull a remote pull request down locally.

참고: 끌어오기 요청 작성자는 업스트림 리포지토리 유지 관리자 또는 업스트림 리포지토리에 대한 푸시 액세스 권한이 있는 사용자에게 사용자 소유 포크에서 끌어오기 요청의 비교 분기에 커밋 권한을 부여할 수 있습니다. 자세한 내용은 “포크에서 만든 끌어오기 요청 분기에 대한 변경 허용”을 참조하세요.

로컬에서 활성 끌어오기 요청 수정

  1. 리포지토리 이름에서 끌어오기 요청 아이콘을 클릭합니다. 이슈 및 끌어오기 요청 탭 선택
  2. 끌어오기 요청 목록에서 수정하려는 끌어오기 요청을 클릭합니다.
  3. 끌어오기 요청을 열 위치를 선택하려면 으로 열기 드롭다운을 선택하고 탭 중 하나를 클릭합니다. 명령줄 끌어오기 요청 명령에 액세스할 수 있는 링크

GitHub CLI에 대한 자세한 내용은 “GitHub CLI 정보”를 참조하세요.

로컬로 끌어오기 요청을 체크 아웃하려면 gh pr checkout 하위 명령을 사용합니다. pull-request를 끌어오기 요청의 숫자, URL 또는 헤드 분기로 바꿉니다.

gh pr checkout PULL-REQUEST

로컬에서 비활성 끌어오기 요청 수정

끌어오기 요청 작성자가 요청에 응답하지 않거나 포크를 삭제한 경우에도 끌어오기 요청을 병합할 수 있습니다. 그러나 끌어오기 요청을 변경하고 작성자가 응답하지 않는 경우 끌어오기 요청을 업데이트하기 위한 몇 가지 추가 단계를 수행해야 합니다.

끌어오기 요청이 열리면 GitHub는 모든 변경 내용을 원격으로 저장합니다. 즉, 끌어오기 요청의 커밋은 끌어오기 요청이 병합되기 전에도 리포지토리에서 사용할 수 있습니다. 열려 있는 끌어오기 요청을 가져와서 직접 다시 만들 수 있습니다.

누구나 이전에 열린 끌어오기 요청을 사용하여 작업을 계속하거나, 테스트하거나, 추가 변경 내용으로 새 끌어오기 요청을 열 수 있습니다. 그러나 푸시 액세스 권한이 있는 협력자만 끌어오기 요청을 병합할 수 있습니다.

  1. 리포지토리 이름 아래에서 이슈 또는 끌어오기 요청 아이콘을 클릭합니다. 이슈 및 끌어오기 요청 탭 선택
  2. “끌어오기 요청” 목록에서 병합하려는 끌어오기 요청을 클릭합니다.
  3. 비활성 끌어오기 요청의 ID 번호를 찾습니다. 끌어오기 요청의 제목 바로 뒤의 숫자 시퀀스입니다. 끌어오기 요청 ID 번호 1. Terminal(터미널)Terminal(터미널)Git Bash를 엽니다.
  4. ID 번호를 기반으로 하는 끌어오기 요청에 대한 참조를 가져와 프로세스에서 새 분기를 만듭니다.
    $ git fetch origin pull/ID/head:BRANCH_NAME
  5. 이 끌어오기 요청을 기반으로 하는 새 분기로 전환합니다.
    [main] $ git checkout BRANCH_NAME
    > Switched to a new branch 'BRANCH_NAME'
  6. 이 시점에서 이 분기를 사용하여 원하는 모든 작업을 수행할 수 있습니다. 일부 로컬 테스트를 실행하거나 다른 분기를 분기에 병합할 수 있습니다.
  7. 준비가 되면 새 분기를 푸시할 수 있습니다.
    [pull-inactive-pull-request] $ git push origin BRANCH_NAME
    > Counting objects: 32, done.
    > Delta compression using up to 8 threads.
    > Compressing objects: 100% (26/26), done.
    > Writing objects: 100% (29/29), 74.94 KiB | 0 bytes/s, done.
    > Total 29 (delta 8), reused 0 (delta 0)
    > To https://github.com/USERNAME/REPOSITORY.git
    >  * [new branch]      BRANCH_NAME -> BRANCH_NAME
  8. 새 분기로 새 끌어오기 요청을 만듭니다.

오류: 일부 참조를 푸시하지 못했습니다.

원격 refs/pull/ 네임스페이스는 읽기 전용입니다. 커밋을 푸시하려고 하면 다음 오류가 표시됩니다.

! [remote rejected] HEAD -> refs/pull/1/head (deny updating a hidden ref)
error: failed to push some refs to 'git@github.local:USERNAME/REPOSITORY.git'

팁: 원격 참조를 제거하거나 이름을 바꾸면 로컬 refs/pull/origin/ 네임스페이스가 git-remote에 대한 호출의 영향을 받지 않습니다.