Как изменить базовую ветвь запроса на растяжение?
Я создал запрос на перенос проекта GitHub на конкретную удаленную ветку. Через некоторое время удаленная ветвь была удалена.
Как я могу изменить запрос pull, чтобы указать на другую ветку (в частности master
)?
Ответы
Ответ 1
Теперь вы можете изменить базовую ветвь запроса на открытое нажатие. После того, как вы создали запрос на перенос, вы можете изменить базовую ветвь так, чтобы изменения в запросе на растяжение сравнивались с другой ветвью. Изменив базовую ветку исходного запроса на извлечение, а не открывая новую с правильной базовой ветвью, вы сможете сохранить ценную работу и обсуждение.
Нажмите кнопку Edit по заголовку запроса на растяжение, чтобы открыть селектор базовой ветки.
![Анимированный пример того, как изменить базовую ветку запроса на растяжение.]()
Старый ответ
Вы не можете. Просто сделайте новый запрос на растяжение.
Ответ 2
Несмотря на то, что недокументировано, вы можете сделать это, используя API-интерфейс GitHub REST.
Использование API объясняется в этом ответе, но в основном вы можете отправить запрос REST, подобный этому:
$ curl --user "tom" \
--request PATCH \
--data '{"issue": "15", "head": "tom:new-branch", "base": "master"}' \
https://api.github.com/repos/fred/fabproj/pulls
Это изменит запрос на растяжение, реализованный в выпуске 15 в репозитории fred/fabproj
, чтобы использовать ветвь new-branch
в каталоге tom/fabproj
.
Изменить: Примечание. Согласно комментариям, вышесказанное относится только к прикреплению запроса на перенос нового к существующей проблеме.
Ответ 3
По состоянию на 15.08.2016 это теперь возможно изначально через Github:
Теперь вы можете изменить базовую ветвь запроса на открытое нажатие. После того, как вы создали запрос на перенос, вы можете изменить базовую ветвь так, чтобы изменения в запросе на растяжение сравнивались с другой ветвью. Изменив базовую ветку исходного запроса на извлечение, а не открывая новую с правильной базовой ветвью, вы сможете сохранить ценную работу и обсуждение.
Ответ 4
Я мог бы изменить целевую ветку.
Это правда, что мы не можем редактировать имя целевой ветки в PR. Но трюк состоит в том, чтобы переименовать ветвь в нечто другое и переименовать вашу целевую ветвь в существующую уже в PR.
Пример. Мой PR имеет имя типа "dev-4.9" . Существует еще одна ветвь, которая называется "qa-4.9" . Все, что я хочу, это то, что "qa-4.9" должно быть ветвью PR-цели.
Шаги: 1
1) Переименовать ветку "dev-4.9" на что-то еще "original-dev-4.9"
git checkout dev-4.9
git branch -w original-dev-4.9
git push origin original-dev-4.9
2) Переименовать ветвь "qa-4.9" в "dev-4.9" .
git checkout qa-4.9
git branch -w dev-4.9
git push origin dev-4.9 -f (force push to write entire branch to reflect dev-4.9)
3) Обновить PR-url и увидеть коммиты в qa-4.9, отраженные там.
Ответ 5
Вместо того, чтобы потерять все комментарии, связанные с PR для удаленной ветки:
- создайте ветвь снова локально с тем же именем и тем же содержимым, в которое вы хотите объединить ветку;
- нажмите эту ветвь для воссоздания удаленной ветки; и затем
- снова открыть PR ветке.
Например, у вас есть PR для ветки 1, который удален. Теперь вы хотите объединиться, чтобы освоить и сохранить комментарии к существующему PR:
- git мастер проверки
- git pull
- git checkout -b branch1
- git нажмите
- заново откройте свой PR до ветки1
- при объединении с branch1, слияние для master.
Это немного взломанно, но намного лучше, чем уничтожить множество комментариев.
Ответ 6
Github поддерживает это сейчас. Редактировать кнопку на правом конце PR.
Ответ 7
В теории...
вы должны использовать github api.
пример: отредактируйте запрос на растяжение с помощью curl
curl --user "your_github_username" \
--request PATCH \
--data '{"title":"newtitle","body":"newbody",...}' \
https://api.github.com/repos/:owner/:repo/pulls/:number
вы можете найти подробный список данных в файл разработчика github
curl --user "jeremyclement" \
--request PATCH \
--data '{"title":"allows the control of files and folders permissions."}' \
https://api.github.com/repos/Gregwar/Cache/pulls/9
, но на практике...
кажется, что поля head/label
и head/ref
не редактируются. На данный момент единственное решение кажется из Amber