GitHub: Как добавить запросы open pull в местное репо?

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

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

Ответ 1

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

curl https://github.com/erica/NSDate-Extensions/pull/6.patch | git am

Ответ 2

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

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 может видеть, когда мастер был ранее объединен в запрос pull. Файл патча полностью не знает о таких отличиях.

Ответ 3

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

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

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

    git remote add githubuser theirgithubfork.git

Затем вы можете легко снести свои изменения:

  • git fetch githubuser

Легко брать отдельные фиксации с помощью

  • git cherry-pick thesha1fromthepullrequest

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

$ git clone [email protected]:capistrano/capistrano.git
$ cd capistrano
$ git remote add RogerE https://github.com/RogerE/capistrano.git
$ git fetch RogerE
$ git cherry-pick 6bbbcc5

Ответ 4

Вы можете вытащить конкретные запросы на растягивание следующим образом:

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

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