Подтвердить что ты не робот

Как применить патч git, если задан номер тяги

Я загрузил версию trunk для базы данных из git, и есть ошибки сборки. По-видимому, теперь доступен патч, и я получил электронное письмо:

см. https://github.com/JustinTulloss/zeromq.node/pull/47 для патча

Я новичок в git, поэтому я не совсем уверен, что делать с этим "патчем", особенно потому, что страница больше похожа на дискуссионный поток.

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

4b9b3361

Ответ 1

Сохраните патч где-нибудь. Если вы используете 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

Ответ 3

Теперь правило изменилось.

Ранее мы взяли PR и добавили .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 из запроса Pull

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

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

Ответ 4

git fetch -q origin +refs/pull/47/merge:
git checkout -qf FETCH_HEAD

Ответ 5

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

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

Если запрос pull не находится в репо-источнике, запустите

git remote add patchremote https://github.com/JustinTulloss/zeromq.node
git pull patchremote pull/47/head