usar upstream qué how como git github pull-request

git - upstream - pull request vs merge request



Cómo aplicar un parche git cuando se le da un número de extracción (5)

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

ver https://github.com/JustinTulloss/zeromq.node/pull/47 para el 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 en mi repositorio git clonado localmente?


Guarde el parche en alguna parte. Si usas Linux, puedes usar curl:

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

Para aplicar el parche use git apply . Puede ver si el parche se aplicará limpiamente con la opción de check . 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


La regla parece haber cambiado recientemente.

Anteriormente tomamos un PR y añadimos un .patch al final para obtener el parche

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

Pero ahora el enlace se redirecciona (301) a

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

Por lo tanto, si utiliza curl , puede canalizar con el comando git apply para aplicar un parche git de la solicitud de extracción

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

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


Para que git descargue la solicitud de extracción 47 y la mylocalbranch localmente en mylocalbranch , 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