1
votes

Collecter les messages de validation de tous les validations précédentes lors de la fusion pour le journal des modifications

J'ai une branche principale et une branche de fonctionnalité. La branche de fonctionnalité est plusieurs commits avant la branche principale, et j'aimerais fusionner la branche de fonctionnalité dans la branche principale. Je n'ai pas l'intention de --squash et je ne veux pas rebaser parce que j'aime préserver l'historique.

J'aime résumer ce qui a changé dans le message de validation de la fusion, car l'historique de la branche de fonctionnalité peut être alambiqué, et un bon point de départ pour moi est de copier et de modifier tous les messages de validation des validations assorties de la branche de fonctionnalité depuis la dernière fusion .

Je me souviens vaguement avoir lu quelque part que git peut compiler ces messages pour moi, mais je ne me souviens pas où je l'ai lu ou comment le faire.

Toutes nos excuses s'il s'agit d'un doublon, mais plusieurs recherches Google et SO n'ont pas réussi à le signaler.

Modifier: ce que j'essaie de faire, c'est de créer un journal des modifications pour tout ce qui a changé entre les versions.


5 commentaires

utiliser git shortlog ?


Rebase gardera tous les commits intacts. Utilisez-vous github? Avec github, je crée une Pull Request et la fusionne avec master. Lors de la fusion, GH donne l'option "squash and commit" ou "keep history". Choisissez selon vos besoins et fusionnez.


@MohanaRao Lorsque vous «écrasez et commettez» sur GitHub, ne perdez-vous pas l'historique de la fusion elle-même car ce n'est pas techniquement une fusion?


Certes, dans votre cas, vous choisissez l'autre option (Ne pas écraser).


J'ai trouvé ce lien, j'espère que cela vous aidera. help.github .com / articles / about-pull-request-merges /…


3 Réponses :


1
votes

Je me souviens vaguement avoir lu quelque part où git peut compiler ces messages pour moi

Peut-être via git rebase , comme indiqué ici : ne passez pas par le rebase (annulez-le), mais copiez-collez les sujets des messages de validation agrégés affichés lors du rebase.

Sinon, vous ne pourriez pas ces messages manuellement (comme décrit ici ).

Ou utilisez un outil tel que antham / chyle pour récupérer ces messages de validation dans votre historique.


1 commentaires

Je pense que l'option de rebase et d'annulation doit être ce dont je me souvenais. Cette option chyle est cependant intrigante. Je vais devoir vérifier cela.



1
votes

A

git log --oneline HEAD ^master

créera une sortie comme celle-ci dans git rebase -i master .

Peut-être passer par | cat pour supprimer les annotations colorées.


0 commentaires

0
votes

Le --log le paramètre pour la fusion est ce que vous recherchez:

  --log[=<n>], --no-log
       In addition to branch names, populate the log message with one-line
       descriptions from at most <n> actual commits that are being merged.
       See also git-fmt-merge-msg(1).


0 commentaires