Obtenez tous les commits git depuis la dernière balise

Lorsque je vais baliser un commit *, je dois savoir ce qui a changé depuis le dernier commit marqué. Par exemple:

a87a6sdf87a6d4 Some new feature a87a6sdf87a6d3 Some bug fix a87a6sdf87a6d2 Some comments added a87a6sdf87a6d1 Some merge <- v1.4.0 

Dans cet exemple, je voudrais connaître les 3 plus récents commits, ou être capable d’imprimer un journal comme ci-dessus, qui montre les deux commits de leurs balises, le cas échéant. Et quand je vois qu’une nouvelle fonctionnalité a été ajoutée, je la taguerai v1.5.0.

Comment gérez-vous cela? Est-ce comme ça que je suis censé utiliser des tags? Que dois-je écrire dans le message tag? Je le laisse toujours en blanc: git tag -a v1.2.3 -m ''

git log ..HEAD ?

Si vous les voulez comme dans votre exemple, sur la première ligne avec un identifiant de validation + un message, alors

git log ..HEAD --oneline

et au cas où vous ne connaissez pas votre dernier tag ou que vous voulez que ce soit dynamic, sur les fenêtres que vous pourriez faire

 for /f "delims=" %a in ('git describe --tags --abbrev^=0') do @set latesttag=%a git log %latesttag%..HEAD --oneline 

et sous linux

 git log `git describe --tags --abbrev=0`..HEAD --oneline 

De plus, si vous avez un cas dans lequel vous connaissez une balise dans l’historique et que vous souhaitez tout imprimer depuis cette balise jusqu’à la situation actuelle, vous pouvez également append --decorate afin qu’il imprime les balises entre les deux.

Si votre validation actuelle est également une balise et que vous souhaitez obtenir les modifications depuis la balise précédente, sans connaître la dernière balise ni le nom de balise précédent, vous pouvez:

 git log --oneline $(git describe --tags --abbrev=0 @^)..@ 

Notez que @ est l’abréviation de HEAD .