GitHub: Как добавить открытые пул-запросы в локальное репо? - PullRequest
22 голосов
/ 17 января 2012

Я использую плагин NSDate-Extensions в своем проекте iOS Xcode.В главном репо есть несколько ошибок, которые, по-видимому, исправлены в двух запросах на извлечение:

Эти запросы все еще выполняютсяоткрыт и не принят в мастер репо.Как я могу добавить их к моему локальному репо в Git-way?Было бы хорошо, если бы мое локальное репо получило обновление, если бы его Форк обновлялся позже:

Ответы [ 4 ]

17 голосов
/ 07 августа 2013

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

git pull https://github.com/erica/NSDate-Extensions +refs/pull/6/head

Если вы еще не уверены, что хотите это сделать, то сначала вы можете проверить эту ветку с помощью:

git fetch https://github.com/erica/NSDate-Extensions +refs/pull/6/head:refs/origin/pull/6

Преимущество этого по сравнению с использованием файлов патчей заключается в том, что git получает фактические коммиты.Так что git может видеть, когда мастер ранее был объединен с запросом на получение.Файл патча не знает о таких различиях.

15 голосов
/ 17 января 2012

Добавьте .patch в конец ссылки на извлечение - вы можете скачать и применить патч к своему репо:

curl https://github.com/erica/NSDate-Extensions/pull/6.patch | git am
12 голосов
/ 17 января 2012

Вы должны добавить вилки, которые предлагали запросы на извлечение, и добавить их в качестве удаленного:

  • Найти человека, предоставляющего ссылку (обычно просто нажмите на хэш sha1)

  • Сделайте что-то вроде:

    git remote add githubuser theirgithubfork.git

Тогда вы легко сможете снять их изменения:

  • git fetch githubuser

Легко принимайте отдельные коммиты с помощью "

  • git cherry-pick thesha1fromthepullrequest

Для полного примера представьте этот запрос на извлечение (6bbbcc5) из RogerE в проекте Ruby Capistrano .

$ git clone git@github.com:capistrano/capistrano.git
$ cd capistrano
$ git remote add RogerE https://github.com/RogerE/capistrano.git
$ git fetch RogerE
$ git cherry-pick 6bbbcc5
0 голосов
/ 25 февраля 2013

Вы можете вытащить определенные запросы, как это:

git pull https://github.com/erica/NSDate-Extensions/pull/6
git pull https://github.com/erica/NSDate-Extensions/pull/7

По моему мнению, это гораздо проще, чем добавить пульт (особенно, если это всего лишь одноразовые исправления) или пайплинг через скручивание.

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