Wenn ich einen Commit tagge, muss ich wissen, was sich seit dem letzten getaggten Commit geändert hat. Z.B:
a87a6sdf87a6d4 Some new feature
a87a6sdf87a6d3 Some bug fix
a87a6sdf87a6d2 Some comments added
a87a6sdf87a6d1 Some merge <- v1.4.0
In diesem Beispiel möchte ich etwas über die 3 neuesten Commits wissen oder ein Protokoll wie oben drucken können, das beide Commits mit ihren Tags anzeigt, falls vorhanden. Und wenn ich sehe, dass ein neues Feature hinzugefügt wurde, würde ich es mit v1.5.0 markieren.
Wie gehen Sie damit um? Soll ich Tags so verwenden? Was soll ich in die Tag-Nachricht schreiben? Ich lasse es immer leer:git tag -a v1.2.3 -m ''
Lösung des Problems
git log <yourlasttag>..HEAD
Wenn Sie sie wie in Ihrem Beispiel in einer Zeile mit Commit-ID + Nachricht haben möchten, dann
git log <yourlasttag>..HEAD --oneline
und falls Sie Ihr neuestes Tag nicht kennen oder möchten, dass es dynamisch ist, können Sie es unter Windows tun
for /f "delims=" %a in ('git describe --tags --abbrev^=0') do @set latesttag=%a
git log %latesttag%..HEAD --oneline
und auf linux / git bash / windows bash
git log $(git describe --tags --abbrev=0)..HEAD --oneline
Wenn Sie einen Fall haben, in dem Sie ein Tag im Verlauf kennen und alles von diesem Tag bis zur aktuellen Situation drucken möchten, möchten Sie möglicherweise auch hinzufügen --decorate
, damit alle Tags dazwischen gedruckt werden.
Keine Kommentare:
Kommentar veröffentlichen