Je travaille sur un projet basé sur WordPress et je souhaite corriger mon projet à chaque nouvelle version de WP. Pour cela, je veux générer un patch entre deux commits ou tags.
Par exemple, dans mon référentiel /www/WP
je fais ceci:
$git patch-format com1..com2 --stdout > ~/patchs/mypatch.patch
Ou
$git patch-format tag1..tag2 --stdout > ~/patchs/mypatch.patch
/www/WP
git natif WordPress
/www/myproject
Mon projet git WordPress basé
La ligne de commande git apply
ne fonctionne pas, car nous sommes dans des référentiels différents.
Puis-je générer un fichier de correctif sans commit, juste un différentiel et l'appliquer à un autre référentiel git?
Merci d'avance.
Vous pouvez simplement utiliser git diff
pour produire un nified diff adapté à git apply
:
git diff tag1..tag2 > mypatch.patch
Vous pouvez ensuite appliquer le patch résultant avec:
git apply mypatch.patch
Pour produire un correctif pour plusieurs commits, vous devez utiliser la commande _format-patch
_ git, par exemple.
_git format-patch -k --stdout R1..R2
_
Cela exportera vos commits dans un fichier de correctif au format boîte aux lettres.
Pour générer un correctif pour la dernière validation, exécutez:
_git format-patch -k --stdout HEAD^
_
Puis, dans un autre référentiel, appliquez le correctif à l'aide de la commande am
git, par exemple.
_git am -3 -k file.patch
_
Voir: man git-format-patch
et git-am
.