Je voudrais créer un patch pour les 2 dernières révisions.
git format-patch -2
me donne 2 fichiers de correctifs, un pour chaque révision
git format-patch HEAD~2..HEAD
donne la même chose.
git format-patch -1 HEAD~2..HEAD
donne un seul fichier, mais ne contient que des modifications pour la dernière révision.
Y at-il un moyen de faire cela dans Git?
git diff HEAD~2..HEAD > my-patch.diff
Il n'aura cependant aucune métadonnée par commit de patch-format.
Utilisez l'option --stdout, puis convertissez-la dans un fichier.
Ainsi:
git format-patch HEAD~2..HEAD --stdout > changes.patch
Cela conservera les métadonnées par commit.
Avec Git 2.20 (T4 2018) et plus, vous avez maintenant:
git format-patch --interdiff
.git format-patch --rangediff
. Les deux aident à expliquer la différence entre cette version et la tentative précédente dans la lettre d'accompagnement (ou après les tirets sous forme de commentaire).
format-patch
: permet à--interdiff
/--rangediff
de s’appliquer à un patch isoléLors de la soumission d'une version révisée d'un correctif ou d'une série, il peut être utile (aux réviseurs) d'inclure un résumé des modifications apportées depuis la tentative précédente sous la forme d'un interdiff, généralement dans la lettre d'accompagnement.
Cependant, il est parfois utile, malgré une lecture bruyante, d'insérer un interdiff ou un télémètre dans la section commentaire de l'unique patch d'une série à un patch.
Voir commit ee6cbf7 , commit 3fcc7a2 , commit 3b02641 , commit 5ac290f , commit 126facf , commit fa5b7ea (22 juil. 2018) par Eric Sunshine (sunshineco
) .
(Fusion par Junio C Hamano - gitster
- in commit 688cb1c , 17 sept. 2018)
Par conséquent, élargissez "
git format-patch --interdiff=<prev>
" pour insérer un interdiff dans la section commentaire d'un patch isolé plutôt que de demander une lettre de motivation.
L’interdiffuseur est mis en retrait pour éviter de confondregit-am
et les lecteurs humains en les considérant comme faisant partie du correctif proprement dit.
Voir commit 40ce416 , commit 8631bf1 , commit 4ee9968 , commit 2e6fd71 , commit 31e2617 , commit 73a834e , commit 2566865 , commit 87f1b2d (22 juil. 2018) de Eric Sunshine (sunshineco
) .
(Fusionnée par Junio C Hamano - gitster
- in commit 881c019 , 17 septembre 2018)
Par conséquent, étendez "
git format-patch --range-diff=<refspec>
" pour insérer unrange-diff
dans la section commentaire d'un patch isolé plutôt que de demander une lettre de motivation.
Vous pourriez faire quelque chose comme:
$ git checkout -b tmp $ git reset HEAD ~ 2 $ git commit -a
Le commit to branch tmp sera le même que les 2 commits individuels.