Pregunta

Descargué una versión troncal de una base de código de Git, y hay errores de compilación. Aparenty, un parche ahora está disponible y recibí un correo electrónico:

Consulte https://github.com/justintulloss/zeromq.node/pull/47 para parche

Soy nuevo en Git, así que no estoy muy seguro de qué hacer con este 'parche' especialmente, ya que la página se parece más a un hilo de discusión.

¿Alguien sabe cómo puedo obtener/aplicar este parche a mi repositorio Git clonado localmente?

¿Fue útil?

Solución

Guarde el parche en alguna parte. Si está utilizando Linux, puede usar Curl:

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

Para aplicar el uso del parche git apply. Puede ver si el parche se aplicará limpiamente con el check opción. Cambie a su directorio GIT y ejecute:

git apply --check /tmp/47.patch

Si parece que desea aplicar el parche, elimine la opción de verificación

git apply /tmp/47.patch

Otros consejos

Solo agrega un .patch Al final para obtener el parche:

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

Puedes hacer algo como a continuación:

$ 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/

La regla parece cambiar recientemente.

Anteriormente tomamos un PR y agregamos un .patch Al final para obtener el parche

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

Pero ahora el enlace es redirección (301) a

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

Entonces si usas curl, podrías entrar con git apply comandar para aplicar un parche GIT desde la solicitud de extracción

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

Si el parche no es adecuado para usted ahora, use git apply -R Comando para revertir el cambio.

Para dejar que Git descargue la solicitud 47 y parche en mylocalbranch localmente, ejecute:

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

Si la solicitud de extracción no está en el repositorio de origen, ejecute

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
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top