Trabajo en un proyecto basado en WordPress y quiero parchear mi proyecto en cada nueva versión de lanzamiento de WP. Para esto, 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
O
$git patch-format tag1..tag2 --stdout > ~/patchs/mypatch.patch
/www/WP
git natif WordPress
/www/myproject
Mi proyecto git basado en WordPress
La git apply
línea de comando no funciona, creo que porque estamos en diferentes repositorios.
¿Puedo generar un archivo de parche sin confirmación, solo un diferencial y aplicarlo a otro repositorio git?
Gracias de antemano.
$git diff -u tag1..tag2 > mypatch.patch
y$git apply --stat > mypatch.patch
la respuesta es0 files changed
alguna otra sugerencia por favor? :)git apply
. Actualicé mi respuesta con un ejemplo.git diff -p tag1 tag2 > my.patch
que funcionó bien.Only unified diff (-uNr) format is acceptable.
pero cuando lo intentogit diff -uNr tag1..tag2 > mypatch.patch
recibo el mensajeusage: git diff [<options>] [<commit> [<commit>]] [--] [<path>...]
git diff ...
+git apply ...
no maneje los archivos eliminados / movidos correctamente ... cuandogit format-patch ...
+git am ...
do.Para producir parches para varias confirmaciones, debe usar el
format-patch
comando git, p. Ej.Esto exportará sus confirmaciones a un archivo de revisión en formato de buzón.
Para generar el parche para la última confirmación, ejecute:
Luego, en otro repositorio, aplique el parche mediante el
am
comando git, p. Ej.Ver:
man git-format-patch
ygit-am
.fuente
patch -p1
? sourceware.org/glibc/wiki/…Como complemento, para producir un parche para solo una confirmación específica, use:
Cuando se genera el archivo de parche, asegúrese de que su otro repositorio sepa dónde está cuando usa
git am ${patch-name}
Antes de agregar el parche, use
git apply --check ${patch-name}
para asegurarse de que no haya conflicto.fuente