Cree un archivo de parche o diferencia desde el repositorio de git y aplíquelo a otro repositorio de git diferente
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/WP
hago esto:
$ git patch-format com1..com2 --stdout > '~/patchs/mypatch.patch'
# or
$ git patch-format tag1..tag2 --stdout > '~/patchs/mypatch.patch'
/www/WP
git nativo WordPress
/www/myproject
Mi proyecto git basado en WordPress
La git apply
lí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?
Puedes usarlo git diff
para 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
Para producir un parche para varias confirmaciones, debe usar format-patch
el 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 am
el comando git, por ejemplo
git am -3 -k file.patch
Ver: man git-format-patch
y git-am
.