Как применить патч GIT, когда дается номеру для притяжения
-
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
Правило, кажется, недавно изменилось.
Ранее мы принимали пиар и добавили .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