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?

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 :)


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;)


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

21

Um Festschreibungen von allen von heute ...

git log --since=midnight

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 :


4

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


4
Vorsicht, das ist gleichbedeutend mit --since=noon.
— Yooy
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.