GOOGLE ADS

Montag, 11. April 2022

Holen Sie sich alle Git-Commits seit dem letzten Tag

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

Warum werden SCHED_FIFO-Threads derselben physischen CPU zugewiesen, obwohl CPUs im Leerlauf verfügbar sind?

Lösung des Problems Wenn ich das richtig verstehe, versuchen Sie, SCHED_FIFO mit aktiviertem Hyperthreading ("HT") zu verwenden, ...