Créer un fichier patch ou diff à partir du repository git et l’appliquer à un autre repository git différent

Je travaille sur le projet 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 repo / 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, je pense parce que nous sums dans des repositorys différents.

Puis-je générer un fichier de correctif sans commettre 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 diff unifié 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 patch 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 de boîte aux lettres.

Pour générer un correctif pour la dernière validation, exécutez:

 git format-patch -k --stdout HEAD^ 

Ensuite, dans un autre référentiel, appliquez le patch par la commande am git, par exemple

 git am -3 -k file.patch 

Voir: man git-format-patch et git-am .