Je travaille sur un projet basé sur WordPress et je souhaite patcher mon projet à chaque nouvelle version de WP. Pour cela, je souhaite générer un patch entre deux commits ou balises.
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 basé sur WordPress
La git apply
ligne de commande ne fonctionne pas, je pense parce que 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.
$git diff -u tag1..tag2 > mypatch.patch
et$git apply --stat > mypatch.patch
la réponse est0 files changed
une autre suggestion s'il vous plaît? :)git apply
. J'ai mis à jour ma réponse avec un exemple.git diff -p tag1 tag2 > my.patch
ce qui fonctionnait bien.Only unified diff (-uNr) format is acceptable.
mais quand j'essaye,git diff -uNr tag1..tag2 > mypatch.patch
je reçois le messageusage: git diff [<options>] [<commit> [<commit>]] [--] [<path>...]
git diff ...
+git apply ...
ne gérez pas correctement les fichiers supprimés / déplacés ... quandgit format-patch ...
+git am ...
faire.Pour produire un patch pour plusieurs commits, vous devez utiliser la
format-patch
commande git, par exempleCela exportera vos commits dans un fichier de correctif au format de boîte aux lettres.
Pour générer un correctif pour le dernier commit, exécutez:
Ensuite, dans un autre référentiel, appliquez le patch par la
am
commande git, par exempleVoir:
man git-format-patch
etgit-am
.la source
patch -p1
? sourceware.org/glibc/wiki/…En complément, pour produire un correctif pour un seul commit spécifique, utilisez:
Lorsque le fichier de correctif est généré, assurez-vous que votre autre dépôt sait où il se trouve lorsque vous utilisez
git am ${patch-name}
Avant d'ajouter le patch, utilisez
git apply --check ${patch-name}
pour vous assurer qu'il n'y a pas de conflit.la source