Git changelog: comment obtenir toutes les modifications jusqu'à une balise spécifique?
Est-il un moyen facile de commande ou pour obtenir tous git s'engage jusqu'à une balise spécifique pour générer automatiquement un changelog pour un projet? J'ai toujours mon tag git repos avec un numéro de version comme v0.1.0
et ne serait par exemple comme pour tous s'engage jusqu'à la balise v0.1.0
.
J'ai regardé à travers les docs, mais ne semblent pas trouver une option utile ou de commande pour elle: http://git-scm.com/docs/git-log (est down pour le moment par la voie)
Par exemple:
$ git log --oneline --decorate
Montre les étiquettes à côté s'engage. J'aimerais la même, mais seulement jusqu'à la balise spécifique.
- Pertinentes à vos intérêts: Pimp My Changelog, un script Ruby pour ce faire. github.com/pcreux/pimpmychangelog
Vous devez vous connecter pour publier un commentaire.
Il vous suffit de faire:
... afficher tous les affecter jusqu'à et y compris v0.1.0. Bien sûr,
git log
permet vous permet également de limiter les commits apparaît dans aucun des moyens quegit rev-list
comprend, donc, si vous voulais voir les changements entrev0.0.9
etv0.1.0
vous pouvez aussi faire:Sortie Alternative qui pourrait être utile à cette fin est celle de
git shortlog
, qui regroupe et résume les contributions de chaque auteur. Essayez, par exemple:git log --oneline --decorate v0.1.0..
>
, par exemplegit log --oneline --decorate v0.0.9..v0.1.0 > changes.txt
Pour la création de changelog par des balises, j'ai utilisé ce script:
-V
drapeau àsort
pour trier correctement les versions comme 1.0.9, 1.0.10, etc.Une mise à jour du script proposé par Creotiv pour obtenir un meilleur tri des tags
Il est très utile de gemme, la sortie est écrit en markdown, ajouter la question du soutien et de fractionner les livraisons des balises
https://github.com/kebab-project/katip
Simplement ajouter
tagname
de votre commande et vous devriez être bien 🙂 j'aime la--graph
commutateur de visualiser les branches qui ont conduit à ce tag 🙂Suffit d'utiliser le nom de la balise comme un commit rédacteur de devis:
git log --oneline --decorate v0.1.0
Je suis venu avec cette modification du script d'origine. Cela gère les balises de version correctement.
Vous pouvez utiliser Git Changelog De La Ligne De Commande pour ce faire: