Как вытащить запрос на извлечение из апстрима в github - PullRequest
0 голосов
/ 04 января 2019

Я поставил репо в github.В Upstream есть несколько новых запросов на получение.Я хочу вытащить локальный запрос на получение.

Как я могу это сделать?Понятия не имею и не нашел ничего связанного с этим.

Ответы [ 5 ]

0 голосов
/ 04 января 2019

Вы должны быть в состоянии сделать это, сначала добавив вышестоящий поток как удаленный, а затем перетащив запрос на извлечение:

git remote add upstream https://github.com/USER/repository.git
git pull upstream pull/ID/head:BRANCHNAME
git checkout BRANCHNAME

Где USER не ваше имя пользователя, а исходное (то, которое выforken from), ID - это идентификатор pull-запроса, а BRANCHNAME - имя локальной ветви, соответствующее pull-запросу.

Если вы захотите позже перейти на свой собственный форк, вы, скорее всего,должны установить восходящий поток (от BRANCHNAME):

git push -u origin BRANCHNAME
0 голосов
/ 04 января 2019

См. https://help.github.com/articles/checking-out-pull-requests-locally/:

git fetch origin pull/ID/head:BRANCHNAME
git checkout BRANCHNAME

, где ID - номер запроса извлечения, а BRANCHNAME - произвольное имя для новой локальной ветви.

0 голосов
/ 04 января 2019

Запрос на извлечение - это не функция git, это рабочий процесс, поэтому он должен выполняться, если есть необходимость в репликации.Таким образом, единственный способ сделать то же самое локально.

git checkout featureA # as it has to be on origin
git checkout master/develop
git merge featureA

На данный момент вы находитесь в состоянии, как запрос на извлечение.

0 голосов
/ 04 января 2019

Попробуйте это - выполните

git pull

, чтобы убедиться, что у вас есть последние изменения в мастере, затем, находясь в ветке master, выполните

git checkout <branch name >

с желаемым значением, которое имеетPR (тянуть запрос) и, наконец, сделать

git pull

, находясь в этой ветви.Я полагаю, что это должно вытащить текущее состояние brach, у которого есть запрос на извлечение.

0 голосов
/ 04 января 2019

API GitHub поддерживает объединение запроса на извлечение на сервере с помощью запроса PUT.Таким образом, вы можете выполнить PUT локально и объединить запрос извлечения.

Но учтите, что это просто означает, что слияние произошло на сервере.Если вы были в какой-то ветке, скажем, master, и вы дистанционно вызвали запрос на получение, если вы хотели получить последний контент, вам все равно пришлось бы делать запрос:

git pull origin master
...