LINUX.ORG.RU

Принятие Pull request - не пойму как принять сам реквест, а не ветку

 , , pull


0

1

Хочу принять Pull-реквест на GitHub-е от другого разработчика.

https://github.com/xintrea/mytetra_dev/pull/32

Можно нажать кнопочку «Merge pull request», но если посмотреть под кнопку то там будет написано, какие команды будут эквивалентны этому действию:

Step 1: From your project repository, 
check out a new branch and test the changes.

git checkout -b ExIngus-experimental experimental
git pull https://github.com/ExIngus/mytetra_dev.git experimental


Step 2: Merge the changes and update on GitHub.

git checkout experimental
git merge --no-ff ExIngus-experimental
git push origin experimental

И что-то я в этих командах не вижу, что будет применяться конкретно этот реквест. Я вижу тут, что все изменения ветки experimental форка пользователя ExIngus будут влиты в специально созданную для этого дела ветку ExIngus-experimental.

Но мне же нужно влить только один Pull request, а не все изменения, которые другой пользователь мог нагородить.

В связи с чем вопрос: как принять изменения вполне конкретного Pull request, а не всей ветки?

Я бы мог это сделать через приём Patch and Apply:
git checkout -b ExIngus-experimental experimental
curl https://patch-diff.githubusercontent.com/raw/xintrea/mytetra_dev/pull/32.patch | git am

но тогда, по-моему, потеряется информация об авторе изменений, а сам Pull request остнется на гитхабе висеть непринятым, хотя код примется вот так вручную. Или такой метод тоже связанно отобразится в GitHub-е?

★★★★★

Pull request и есть ветка // По ссылке не ходил

tailgunner ★★★★★
()

В связи с чем вопрос: как принять изменения вполне конкретного Pull request, а не всей ветки?

Просто нажми на кнопку в gihub'e. Серьезно.

joy4eg ★★★★★
()
Ответ на: комментарий от joy4eg

Дело в том, что этот pull-реквест сделан в ветку experimental. А я хотел бы его вначале сделать в отдельную ветку, проверить, и только потом в experimental засунуть.

Xintrea ★★★★★
() автор топика

И что-то я в этих командах не вижу, что будет применяться конкретно этот реквест. Я вижу тут, что все изменения ветки experimental форка пользователя ExIngus будут влиты в специально созданную для этого дела ветку ExIngus-experimental.

Все правильно, кнопка на гитхабе делает то же самое. Пулл-реквест - это запрос смержить текущее состояние ветки A в ветку B.

deadNightTiger ★★★★★
()
Ответ на: комментарий от Xintrea
Step 1.5: выполняем проверки.

Pull request сам закроется при пуше, так как коммиты будут обнаружены в ветке, в которой направлен pull request.

xaizek ★★★★★
()
Ответ на: комментарий от Xintrea

в чем проблема проверить в репозитории разработчика?

creazero
()
Ответ на: комментарий от Xintrea

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

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

annulen ★★★★★
()
Ответ на: комментарий от Xintrea

Дело в том, что этот pull-реквест сделан в ветку experimental. А я хотел бы его вначале сделать в отдельную ветку, проверить, и только потом в experimental засунуть.

Тогда выполни шаги вручную у себя на машине.

Создаёшь новую ветку с именем ExIngus-experimental:

git checkout -b ExIngus-experimental experimental

Втягиваешь в эту ветку изменения от ExIngus:

git pull https://github.com/ExIngus/mytetra_dev.git experimental

Теперь всё проверяешь, и если понравится, то сливаешь в свою основную ветку:

git checkout experimental
git merge --no-ff ExIngus-experimental
git push origin experimental
Beewek ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.