# Локальное получение для изменения запросов на вытягивание

Ознакомьтесь с запросами на вытягивание локально, чтобы устранить конфликты слиянием, проверить изменения или изменить код.

> \[!NOTE]
> Авторы запросов на вытягивание могут предоставлять поддержку вышестоящего репозитория или людей с push-доступом к вышестоящему репозиторию, разрешение на фиксацию в ветви сравнения запроса на вытягивание в вилке, принадлежащей пользователю. См [. раздел AUTOTITLE](/ru/pull-requests/how-tos/work-with-forks/allowing-changes-to-a-pull-request-branch-created-from-a-fork).

## Локальное изменение активного запроса на вытягивание

<div class="ghd-tool webui">

1. В поле имени репозитория щелкните **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-git-pull-request" aria-label="git-pull-request" role="img"><path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path></svg> Запросы** на вытягивание.

   ![Снимок экрана: главная страница репозитория. На горизонтальной панели навигации вкладка с меткой "Запросы на вытягивание" выделена темно-оранжевым цветом.](/assets/images/help/repository/repo-tabs-pull-requests-global-nav-update.png)

2. В списке запросов на вытягивание щелкните запрос на вытягивание, который требуется изменить.

3. Чтобы выбрать место, где вы хотите открыть запрос на вытягивание, выберите **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-code" aria-label="code" role="img"><path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path></svg>** раскрывающийся список "Код" и щелкните одну из вкладок.

![Скриншот заголовка pull-request. Кнопка со стрелкой, указывающей на выпадающее меню с надписью «Код», выделена тёмно-оранжевым цветом.](/assets/images/help/pull_requests/open-with-button.png)

</div>

<div class="ghd-tool cli">

> \[!NOTE]
> Дополнительные сведения о GitHub CLIсм. в разделе [О GitHub CLI](/ru/github-cli/github-cli/about-github-cli).

Чтобы извлечь запрос на вытягивание локально, используйте подкоманду `gh pr checkout`. Замените `PULL-REQUEST` номером, URL-адресом или главной ветвью запроса на вытягивание.

```shell
gh pr checkout PULL-REQUEST
```

</div>

## Локальное изменение неактивного запроса на вытягивание

Если автор запроса на вытягивание не отвечает на запросы или удалил вилку, изменения, предложенные в этом запросе на вытягивание, по-прежнему могут быть объединены с помощью нового запроса на вытягивание. Однако если вы хотите внести изменения, необходимо выполнить дополнительные действия по обновлению запроса на вытягивание.

После открытия GitHub запроса на вытягивание хранит все изменения удаленно. Фиксации в запросе на вытягивание доступны в репозитории даже до объединения запроса на вытягивание. Можно получить открытый запрос на вытягивание и воссоздать его как свой собственный.

Любой пользователь может работать с ранее открытым запросом на вытягивание, чтобы продолжить работу над ним, протестировать его или открыть новый запрос на вытягивание с дополнительными изменениями.

1. В поле имени репозитория щелкните **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-git-pull-request" aria-label="git-pull-request" role="img"><path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path></svg> Запросы** на вытягивание.

   ![Снимок экрана: главная страница репозитория. На горизонтальной панели навигации вкладка с меткой "Запросы на вытягивание" выделена темно-оранжевым цветом.](/assets/images/help/repository/repo-tabs-pull-requests-global-nav-update.png)

2. В списке **запросов на вытягивание щелкните запрос на вытягивание** , который требуется объединить.

3. Найдите идентификатор неактивного запроса на вытягивание. Это последовательность цифр сразу после заголовка запроса на вытягивание.

   ![Снимок экрана: название запроса на вытягивание. Идентификатор запроса на вытягивание описывается в темно-оранжевый цвет.](/assets/images/help/pull_requests/pull-request-id-number.png)

4. Откройте терминал или Git Bash.

5. Получите ссылку на запрос на вытягивание на основе его идентификатора. При этом создается новая ветвь. Используйте ID pull request и имя локальной ветки, которую хотите создать в команде.

   ```shell
   git fetch origin pull/ID/head:BRANCH_NAME
   ```

6. Перейдите в новую ветвь, основанную на этом запросе на вытягивание:

   ```shell
   [main] $ git switch BRANCH_NAME
   > Switched to a new branch 'BRANCH_NAME'
   ```

7. Внесите необходимые изменения в эту ветвь. Вы можете выполнять локальные тесты или объединять другие ветви в ветвь.

8. Когда вы будете готовы, отправьте новую ветвь:

   ```shell
   [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
   ```

9. Создайте новый запрос на вытягивание с помощью новой ветви.

## Ошибка: не удалось отправить некоторые ссылки

Удаленное `refs/pull/` пространство имен доступно *только для чтения*. Если вы попытаетесь отправить фиксации там, вы увидите эту ошибку:

```shell
! [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'
```

> \[!TIP]
> При удалении или переименовании удаленной ссылки вызовы `git-remote` не влияют на локальное `refs/pull/origin/` пространство имен.