Как применить патч GIT, когда дается номеру для притяжения

StackOverflow https://stackoverflow.com/questions/7827002

  •  27-10-2019
  •  | 
  •  

Вопрос

Я скачал версию кодовой базы багажника из GIT, и есть ошибки сборки. Апкатно патч теперь доступен, и я получил электронное письмо:

См. https://github.com/justintulloss/zeromq.node/pull/47

Я новичок в GIT, поэтому я не совсем уверен, что делать с этим «патч», особенно, поскольку страница больше похожа на обсуждение.

Кто -нибудь знает, как я могу получить/применить этот патч к своему местному клонированному репозиторию GIT?

Это было полезно?

Решение

Сохраните патч где -нибудь. Если вы используете Linux, вы можете использовать Curl:

curl -L https://github.com/JustinTulloss/zeromq.node/pull/47.patch > /tmp/47.patch

Чтобы применить использование патча git apply. Анкет Вы можете увидеть, будет ли патч применить чисто check вариант. Измените свой каталог GIT и запустите:

git apply --check /tmp/47.patch

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

git apply /tmp/47.patch

Другие советы

Просто добавьте .patch В конце, чтобы получить патч:

https://github.com/justintulloss/zeromq.node/pull/47.patch

Вы можете сделать что -то вроде ниже:

$ git checkout master
$ curl http://github.com/JustinTulloss/zeromq.node/pull/47.patch | git am
$ git push origin master

http://help.github.com/send-pull-requests/

Правило, кажется, недавно изменилось.

Ранее мы принимали пиар и добавили .patch В конце, чтобы получить патч

http://github.com/[group]/[project]/pull/30583.patch

Но теперь ссылка перенаправляет (301) на

https://patch-diff.githubusercontent.com/raw/[group]/[project]/pull/30583.patch

Итак, если вы используете curl, вы могли бы трудиться с git apply команда для применения патча GIT из запроса на вытягивание

curl https://patch-diff.githubusercontent.com/raw/[group]/[project]/pull/30583.patch | git apply

Если патч не подходит вам сейчас, используйте git apply -R командование для отката от изменения.

Чтобы дать git загрузить Pull Request 47 и исправить его в mylocalbranch локально, беги:

git checkout -b mylocalbranch
git pull origin pull/47/head

Если запрос на вытягивание не в репорации, запустите

git remote add patchremote https://github.com/JustinTulloss/zeromq.node
git pull patchremote pull/47/head
git fetch -q origin +refs/pull/47/merge:
git checkout -qf FETCH_HEAD
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top