Cree un archivo de parche o diferencia desde el repositorio de git y aplíquelo a otro repositorio de git diferente

Resuelto zatamine asked hace 9 años • 0 respuestas

Trabajo en un proyecto basado en WordPress y quiero parchear mi proyecto en cada nueva versión de WP. Para ello, quiero generar un parche entre dos confirmaciones o etiquetas.

Por ejemplo, en mi repositorio /www/WPhago esto:

$ git patch-format com1..com2 --stdout > '~/patchs/mypatch.patch'

# or

$ git patch-format tag1..tag2 --stdout > '~/patchs/mypatch.patch'

/www/WPgit nativo WordPress

/www/myprojectMi proyecto git basado en WordPress

La git applylínea de comando no funciona, creo que porque estamos en repositorios diferentes.

¿Puedo generar un archivo de parche sin confirmación, solo un diferencial y aplicarlo a otro repositorio de git?

zatamine avatar Jan 28 '15 19:01 zatamine
Aceptado

Puedes usarlo git diffpara producir una diferencia unificada adecuada para git apply:

git diff tag1..tag2 > mypatch.patch

Luego puedes aplicar el parche resultante con:

git apply mypatch.patch
Enrico Campidoglio avatar Jan 28 '2015 13:01 Enrico Campidoglio

Para producir un parche para varias confirmaciones, debe usar format-patchel comando git, por ejemplo

git format-patch -k --stdout R1..R2

Esto exportará sus confirmaciones a un archivo de parche en formato de buzón.

Para generar un parche para la última confirmación, ejecute:

git format-patch -k --stdout HEAD~1

Luego, en otro repositorio, aplique el parche mediante amel comando git, por ejemplo

git am -3 -k file.patch

Ver: man git-format-patchy git-am.

kenorb avatar Jul 29 '2016 16:07 kenorb