Я работаю над проектом в github. Пользователь создал запрос на извлечение. Я хотел бы отказаться от этого запроса на вытягивание. Как мне это сделать? Я не вижу в документации по git ничего, что сразу бросалось бы мне в глаза, но я вполне уверен, что это возможно...
разветвление запроса на извлечение с помощью git/github
Ответы (2)
У меня уже есть исходное репо. Как я могу ввести PR в свою вилку и ответвления от нее?
Если вы еще этого не сделали, клонируйте свою вилку, чтобы у вас была локальная копия вашей вилки на вашем компьютере.
Добавьте репозиторий, из которого PR приходит как удаленный к вашему клону:
git remote add the-pr-repo [email protected]:the-pr-user/the-pr-fork.git
Оформить ветку PR в локальном репозитории:
git fetch the-pr-repo git checkout the-pr-branch
Теперь у вас есть копия ветки PR в вашем локальном репозитории, и вы можете создавать, тестировать и делать что угодно.
Это пиар для апстрима.
PR по-прежнему просто указывает на ветку. «Запрос на извлечение» — это буквально запрос на перенос коммитов из данной ветки в какую-то другую ветку. Допустим, PR сделан из репозитория с именем basil
и указывает ветку с именем basils-changes
, а PR просит добавить коммиты из basils-changes
в ветку master
репозитория upstream
. Я могу легко получить те же самые изменения, сначала убедившись, что у меня есть локальная ветка, обновленная до upstream/master
, а затем перетащив basil/basils-changes
в мою локальную ветку. Это даст мне именно то, что будет у upstream/master
, если PR будет объединен, поэтому я могу протестировать изменения локально, чтобы решить, хочу ли я объединить PR с upstream/master
.
git checkout
. Если вы хотите создать новую ветку оттуда, вы можете сделать это снова с помощью git checkout -b your_new_branch_name
. Или вы можете просто внести изменения в свою копию ветки PR. PR ничего не меняет в обычном использовании git — это просто указатель на конкретную ветку. Если владелец ветки добавит фиксацию в свою ветку и подтолкнет ее к своей вилке, PR покажет это, потому что, опять же, PR просто указывает на ветку.
- person Caleb; 09.04.2019
git pull <the_other_repo> <the_other_branch>
. Если вы хотите перебазировать, это git rebase <the_other_repo>/<the_other_branch>
. Если вы не уверены, какие параметры подходят для какой-либо команды, добавьте параметр --help
(например, git pull --help
). Я понимаю ваше разочарование, но вам станет легче, если вы продолжите в том же духе. Сопротивление бесполезно.
- person Caleb; 12.04.2019
PR основаны на филиалах. Разветвление репозитория создает новую копию репозитория в вашей учетной записи, включая все отправленные ветки. Запросы на вытягивание не копируются как часть процесса разветвления.
Перейдите к запросу на вытягивание и найдите ветку, на которой он основан:
Затем сделайте форк репозитория. Вы найдете ветку в своем новом репозитории и сможете воссоздать PR или создать другую ветку оттуда.