Ответ 1
Добавьте .patch
в конец тянущего url - вы можете загрузить и применить исправление на своем репо:
curl https://github.com/erica/NSDate-Extensions/pull/6.patch | git am
Я использую плагин NSDate-Extensions в моем проекте iOS Xcode. У master repo есть некоторые ошибки, которые, по-видимому, исправлены в двух запросах на Pull:
Эти запросы все еще открыты и не принимаются к мастер-репо. Как я могу добавить их в свое местное репо в Git -way? Было бы хорошо, если мое местное репо получит обновление, если их вилка будет обновлена позже:
Добавьте .patch
в конец тянущего url - вы можете загрузить и применить исправление на своем репо:
curl https://github.com/erica/NSDate-Extensions/pull/6.patch | git am
Вы можете вытаскивать запросы из командной строки без добавления пультов:
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. Файл патча полностью не знает о таких отличиях.
Вы должны добавить вилки, предлагающие запросы на растяжение, и добавить их в качестве пульта:
Найдите человека, вносящего ссылку (обычно просто щелкните хэш файл 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
Вы можете вытащить конкретные запросы на растягивание следующим образом:
git pull https://github.com/erica/NSDate-Extensions/pull/6
git pull https://github.com/erica/NSDate-Extensions/pull/7
imo это намного проще, чем добавление удаленного (особенно когда это только одноразовые исправления) или трубопроводы через curl.