Wie kann das Git-Protokoll alle heutigen Commits anzeigen?

77

Ich möchte in der Lage sein, alle Commits zu sehen, die ich heute mit gemacht habe git log. Ich habe git log --after="yesterday"
mir das ausgedacht. Das scheint mir jedoch etwas umständlich. Gibt es einen einfacheren Befehl, um den gleichen Effekt zu erzielen?

agentbanks217
quelle

Antworten:

91

Bearbeiten: Da dies die akzeptierte Antwort ist, kann ich sie nicht löschen. Deshalb poste ich hier @ Simons Antwort:

git log --since="6am"

Und natürlich kannst du die Zeit so einstellen, dass "Morgen" genug für dich ist :)

Abyx
quelle
8
Dies scheint unter Git 1.5.6.5, FWIW nicht zu funktionieren. Ich weiß, alte Version und alles, aber ich denke, das könnte jemandem helfen. git log --after="yesterday"scheint der Korrektur am nächsten zu kommen, aber es schließt Dinge ein, die gestern passiert sind, zusammen mit Dingen, die nach gestern passiert sind.
3
Für mich: git log --since="yesterday"funktioniert gut. Sieht auch gut aus mit --pretty="oneline"... (Git-Version 1.7.10)
Nick
--since und --after sind Synonyme, daher schlägt die Antwort dasselbe vor, was in der Frage steht. Dies gibt die letzten 24 Stunden der Commits an (daher @ agentbanks217 Problem mit dem Anzeigen von Commits von gestern). Ich habe unten eine andere Antwort gegeben.
Cogg
Auch Zeiten wie "06:00"Arbeit, für diejenigen, die AM / PM nicht mögen
Hubro
Ich hatte mir vorgestellt, dass dies bis 5:59 Uhr am nächsten Tag funktionieren würde. Es werden jedoch nur Commits am selben Tag aufgelistet (dh es funktioniert nicht mehr um Mitternacht)
binaryfunt
67

Vielleicht ist das Beste zu verwenden

git log --since="6am"

Sie können die Zeit nach Ihren Wünschen einstellen;)

Simon
quelle
Fügen Sie auch --all hinzu, um das Protokoll aller Zweige während des Zeitraums zu sehen
schoetbi
22

Sie können einen Alias ​​erstellen, um diesen Befehl zu verkürzen

git config --global alias.today 'log --since=7am'

und dann ausführen:

git today
Dariusz
quelle
21

Um Festschreibungen von allen von heute ...

git log --since=midnight
yoyo
quelle
5

Es gibt bereits einige nützliche richtige Antworten (z. B. git log --since="6am"), aber es ist seltsam, dass die speziellen Daten von Git in der Dokumentation fehlen (zumindest die Website "gestern" "mittags" googeln : git-scm.com gibt keine Ergebnisse zurück).

Es gibt verschiedene Möglichkeiten, um herauszufinden, was verfügbar ist. Beispielsweise sind die Antworten auf die Spezifikation für die Syntax von Git-Daten besonders nützlich. In einem Punkt Ryan O'Hara aus , dass

it seems to accept all formats that it can output, as described in the documentation for the --date option:

--date=(relative|local|default|iso|rfc|short|raw)

Wirkt nur für Daten, die in einem für Menschen lesbaren Format angezeigt werden, z. B. bei Verwendung --pretty. log.dateDie Konfigurationsvariable legt einen Standardwert für die --dateOption des Protokollbefehls fest .

--date=relative zeigt Daten relativ zur aktuellen Zeit an, z. B. "vor 2 Stunden".

--date=local Zeigt Zeitstempel in der lokalen Zeitzone des Benutzers an.

--date=iso(oder --date=iso8601) zeigt Zeitstempel im ISO 8601-Format.

--date=rfc(oder --date=rfc2822) zeigt Zeitstempel im RFC 2822-Format an, die häufig in E-Mail-Nachrichten enthalten sind.

--date=shortzeigt nur Datum, aber keine Uhrzeit im YYYY-MM-DDFormat an.

--date=rawZeigt das Datum im internen Raw-Git- %s %zFormat an.

--date=default Zeigt Zeitstempel in der ursprünglichen Zeitzone an (entweder vom Committer oder vom Autor).

Meine Lieblingsantwort dort ist von mir_und wer leitet uns zur git date.c Klasse . Scannen Sie das herunter und Sie finden diesen Code (zum Zeitpunkt des Schreibens steht er in Zeile 925):

Ich benutze definitiv git log --before=tea, obwohl ich mir die date_teaFunktion anschaue, glaube ich nicht, dass sie Rupert Brooke gelesen haben :

Dumbledad
quelle
4

Übrigens funktioniert das auch:
git log --since=am

suzanshakya
quelle
4
Vorsicht, das ist gleichbedeutend mit --since=noon.
Yooy