Как быстро вытащить пулл-запрос локально - PullRequest
7 голосов
/ 17 июня 2011

Прежде чем объединить запрос на извлечение, я хочу быстро получить запрос локально, запустить тесты и протестировать несколько компонентов.Я пока не хочу нажимать запрос на слияние с gihub.

Я думал, что шкив поможет http://ejohn.org/blog/pulley/.Но я получаю сообщение об ошибке

$ node pulley.js 76

node.js:116
        throw e; // process.nextTick error, or 'error' event on first tick
        ^

Есть ли другой инструмент, который поможет мне быстро вытащить «запрос на извлечение»?

Ответы [ 6 ]

11 голосов
/ 18 июня 2011

Нажмите (i) в левой части панели «запрос на объединение», и вы получите нужные вам команды.

new
_________________________________________________________ ^^^^^^^^^^^^^^

3 голосов
/ 03 июля 2013

Взято с официальной страницы github (в июле 2013 года, но это может измениться):

Шаг 1: Проверьте новую ветку для проверки изменений- запустите его из каталога вашего проекта

git checkout -b otherrepo-develop develop

Шаг 2: Внесите изменения в другие репозитории (откуда поступают коммиты) и проверьте

git pull git://github.com/otherrepoauthor/otherrepo.git develop

Шаг 3: ПОСЛЕ УСПЕШНОГО ИСПЫТАНИЯ!Объедините изменения и обновите сервер

git checkout develop
git merge otherrepo-develop
git push origin develop
3 голосов
/ 17 июня 2011

Почему бы просто не использовать следующее?

git remote add -f <test_repo_name> <test_repo_url>
git checkout -b <branch> <test_repo_name>/master
...test as needed
...merge if you like it
1 голос
/ 18 октября 2018

Из справочного руководства Github и при условии, что ваш пульт дистанционного управления является источником:

git fetch origin pull/ID/head:BRANCHNAME
git checkout BRANCHNAME
1 голос
/ 17 июня 2011

Просто быстрая идея, почему бы не создать локальную ветвь, а затем выполнить извлечение исходной (удаленно отслеживаемой) ветки?

0 голосов
/ 17 июня 2011

Звучит так, будто вы ищете команду извлечения

ГИТ-выборки

Извлекает именованные головы или теги из одного или нескольких других хранилищ вместе с объектами, необходимыми для их завершения.

Имена ссылок и их имена объектов выбранных ссылок хранятся в .git / FETCH_HEAD. Эта информация оставляется для последующей операции слияния, выполняемой git merge.

На практике fetch получает все именованные коммиты из удаленного репозитория. Это означает, что при переходе к исходной точке origin / master будет обновляться, чтобы указывать на последнее изменение исходного происхождения, но ваш локальный master не объединяется и не изменяется для отражения этих изменений.

Я предполагаю, что вы работаете с (локальным) мастером, который является удаленной ветвью отслеживания происхождения / мастера. У вас названия веток могут отличаться, но процесс все тот же.

Теперь вы можете создать временную ветвь для проверки происхождения / мастера, выполнив

git checkout -b temp_branch_name origin/master

, которая создаст временную ветку, которая теперь указывает на самую последнюю историю в удаленном хранилище.

Когда вы закончите тестирование и захотите интегрироваться, вы можете выполнить

git checkout master
git merge origin/master

, который выполнит обычное слияние (как вытягивание), или

git checkout master
git rebase origin/master

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...