Примечание. Авторы запросов на вытягивание могут предоставить ответственным пользователям вышестоящего репозитория или тем, у кого есть доступ к отправке в вышестоящий репозиторий, разрешение делать фиксации в ветви сравнения их запроса на вытягивание в вилке, принадлежащей пользователю. Дополнительные сведения см. в разделе Разрешение изменений в ветви запроса на вытягивание, созданной из вилки.
Локальное изменение активного запроса на вытягивание
-
В поле имени репозитория щелкните Запросы на вытягивание.
-
В списке запросов на вытягивание выберите тот, который хотите изменить.
-
Чтобы выбрать место, где вы хотите открыть запрос на вытягивание, выберите раскрывающийся список Код и щелкните одну из вкладок.
Дополнительные сведения о GitHub CLIсм. в разделе "Сведения о GitHub CLI".
Чтобы извлечь запрос на вытягивание локально, используйте подкоманду gh pr checkout
. Замените PULL-REQUEST
номером, URL-адресом или главной ветвью запроса на вытягивание.
gh pr checkout PULL-REQUEST
Локальное изменение неактивного запроса на вытягивание
Если автор запроса на вытягивание не отвечает на запросы или удалил вилку, изменения, предложенные в этом запросе на вытягивание, по-прежнему могут быть объединены с помощью нового запроса на вытягивание. Однако если вы хотите внести изменения в запрос на вытягивание, а автор не отвечает, вам потребуется выполнить некоторые дополнительные действия, чтобы обновить запрос на вытягивание.
После открытия запроса на вытягивание GitHub удаленно сохраняет все изменения. Другими словами, фиксации в запросе на вытягивание доступны в репозитории еще до того, как для запроса на вытягивание выполняется слияние. Можно получить открытый запрос на вытягивание и воссоздать его как свой собственный.
Любой пользователь может работать с ранее открытым запросом на вытягивание, чтобы продолжить работу над ним, протестировать его или даже открыть новый запрос на вытягивание с дополнительными изменениями. Однако выполнять слияние для запросов на вытягивание могут только участники совместной работы с доступом на отправку.
-
В поле имени репозитория щелкните Проблемы или Запросы на вытягивание.
-
В списке "Запросы на вытягивание" щелкните тот, который требуется изменить.
-
Найдите идентификатор неактивного запроса на вытягивание. Это последовательность цифр сразу после заголовка запроса на вытягивание.
-
Откройте ТерминалТерминалGIT Bash.
-
Получите ссылку на запрос на вытягивание по его номеру идентификатора, создав в процессе новую ветвь.
git fetch origin pull/ID/head:BRANCH_NAME
-
Перейдите в новую ветвь, основанную на этом запросе на вытягивание:
[main] $ git switch BRANCH_NAME > Switched to a new branch 'BRANCH_NAME'
-
На этом этапе можно сделать все, что нужно, с помощью этой ветви. Можно выполнить некоторые локальные тесты или слияние других ветвей в ветвь.
-
Когда будете готовы, можно отправить новую ветвь вверх:
[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
-
Создайте новый запрос на вытягивание с помощью новой ветви.
Ошибка: не удалось отправить некоторые ссылки
Удаленное 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
.