When I'm going to tag a commit, I need to know what changed since the last tagged commit. Eg:
a87a6sdf87a6d4 Some new feature
a87a6sdf87a6d3 Some bug fix
a87a6sdf87a6d2 Some comments added
a87a6sdf87a6d1 Some merge <- v1.4.0
In this example I would like to know about the 3 newest commits, or be able to print a log like above, that shows both commits their tags if any. And when I see there has been a new feature added, I would tag it v1.5.0.
How do you deal with this? Is this how I'm supposed to use tags? What should I write in the tag message? I always leave it blank: git tag -a v1.2.3 -m ''
git log <yourlasttag>..HEAD
If you want them like in your example, on the one line with commit id + message, then
git log <yourlasttag>..HEAD --oneline
and in case you don't know your latest tag or want this to be dynamic, on Linux / git bash / Windows bash you could do:
git log $(git describe --tags --abbrev=0)..HEAD --oneline
and on Windows:
for /f "delims=" %a in ('git describe --tags --abbrev^=0') do @set latesttag=%a
git log %latesttag%..HEAD --oneline
Also, if you have a case where you know a tag in history and want to print everything from that tag up to current situation, you might want to add also --decorate
so it would print out any tags in between.