Créer un patch ou un fichier diff de git et de l'appliquer à un autre dépôt git
Je travail sur WordPress basé projet et je veux patcher mon projet à la sortie de chaque nouvelle version de WP. Pour cela, je veux générer un patch entre deux commits ou des étiquettes.
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 de WordPress
/www/myproject
Mon projet git WordPress basé
La git apply
ligne de commande ne fonctionne pas, je pense que parce que nous sommes dans des référentiels différents.
Puis-je générer un fichier de patch sans s'engager, juste un différentiel et de l'appliquer à un autre dépôt git ?
Merci d'avance.
Vous devez vous connecter pour publier un commentaire.
Vous pouvez simplement utiliser
git diff
pour produire un des différences unifiées adapté pourgit apply
:Vous pouvez ensuite appliquer la résultante patch avec:
$git diff -u tag1..tag2 > mypatch.patch
et$git apply --stat > mypatch.patch
la réponse est0 files changed
toute 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
qui a bien fonctionné.Only unified diff (-uNr) format is acceptable.
mais quand j'essaiegit diff -uNr tag1..tag2 > mypatch.patch
je reçois le messageusage: git diff [<options>] [<commit> [<commit>]] [--] [<path>...]
git diff 0.0.1 0.0.2 > changes.patch
Pour produire patch pour plusieurs commits, vous devez utiliser
format-patch
commande git, par exempleCela permettra d'exporter vos commits dans le fichier de correctif dans la boîte aux lettres de format.
Pour générer des patch pour le dernier commit, exécutez:
Puis dans un autre référentiel appliquer le patch par
am
commande git, par exempleVoir:
homme git format-patch
etgit-am
.patch -p1
? sourceware.org/glibc/wiki/...