Antworten:
Es gibt verschiedene Möglichkeiten, das Datum hübsch auszudrucken . Am einfachsten ist es wahrscheinlich, nur eines der vorgebackenen --pretty
Formate zu verwenden, z. B. git log --pretty=fuller
werden beide Daten angezeigt. Wenn Sie nur ein Datum anzeigen möchten, es jedoch zum Festschreibungsdatum festlegen möchten, können Sie es verwenden git log --format=<some stuff>
. Alle zulässigen Codes zum Definieren des Formats sind in dokumentiert git help log
. Das Commit Datum ein von %cd
, %cD
, %cr
, %ct
oder%ci
, je nachdem , was Format , das Sie bevorzugen es in.
Wenn Sie dies häufig tun möchten, fügen Sie es in einen Alias ein oder schreiben Sie ein Hilfsskript, um beim Tippen zu sparen.
Sie können das Festschreibungsdatum relativ verwenden --pretty=format
und verwenden %cr
.
Beispielsweise:
$ git log --graph --pretty=format:'%C(auto)%h%d (%cr) %cn <%ce> %s'
Sie können in git einen Alias definieren, um die Verwendung zu vereinfachen. Ich habe folgendes in meinem .gitconfig
:
[alias]
# see `git help log` for detailed help.
# %h: abbreviated commit hash
# %d: ref names, like the --decorate option of git-log(1)
# %cn: commiter name
# %ce: committer email
# %cr: committer date, relative
# %ci: committer date, ISO 8601-like format
# %an: author name
# %ae: author email
# %ar: author date, relative
# %ai: author date, ISO 8601-like format
# %s: subject
# my awesome git log replacement
lol = log --graph --pretty=format:\"%C(auto)%h%d%Creset %C(cyan)(%cr)%Creset %C(green)%cn <%ce>%Creset %s\"
# same as above, but ISO date
lold = log --graph --pretty=format:\"%C(auto)%h%d%Creset %C(cyan)(%ci)%Creset %C(green)%cn <%ce>%Creset %s\"
# using build-in standards
lol2 = log --oneline --graph --decorate
# shows branches and their last commits
lol3 = log --all --graph --decorate --oneline --simplify-by-decoration
Unter Linux oder ähnlichen Systemen können Sie einfache Anführungszeichen '
anstelle von doppelten Anführungszeichen verwenden "
:
[alias]
lol = log --graph --pretty=format:'%C(auto)%h%d%Creset %C(cyan)(%cr)%Creset %C(green)%cn <%ce>%Creset %s'
Führen Sie dazu einfach git lol
oder die anderen Varianten aus, um die hübsche Ausgabe zu sehen.
Hier ist die Ausgabe von git lol --simplify-by-decoration
:
lol
ist einfacher zu tippen als log
und klingt auch besser.
git log
wenn Sie es jemals brauchen.Hier ist die Ausgabe von git lold
mit Datumsangaben im ISO-Format. Nützlich, um das genaue Datum und die Uhrzeit der Festschreibung anzuzeigen. Der Vorteil besteht darin, dass Sie die Zeitzone des Mitwirkenden leicht sehen können.
Bearbeiten 2020-06 : Screenshots hinzugefügt. Aktualisiert, um %C(auto)
(Auto / Standard-Färbung) für %h
(Commit-Hash) und %d
(Ref-Namen) zu verwenden. Hinzugefügt %cn
(Commitername) zusätzlich zur E-Mail.
git log --graph --pretty=format:\"%C(yellow)%h%Creset%C(cyan)%C(bold)%d%Creset %C(cyan)(%cr)%Creset %C(green)%ce%Creset %s\"
bash: Syntaxfehler in der Nähe eines unerwarteten Tokens `('
Ich bevorzuge dieses Format, enthält keinen Autorennamen und das tatsächliche Datum für das Festschreiben.
git log --graph --pretty=format:"%C(yellow)%h%x09%Creset%C(cyan)%C(bold)%ad%Creset %C(green)%Creset %s" --date=short
git show --pretty=fuller HEAD
um ein Beispiel zu sehen). Für die lokale Entwicklung sind diese normalerweise gleich, aber für Patches, die per E-Mail oder über andere Mechanismen hinzugefügt wurden, können sie unterschiedlich sein, wobei das AuthorDate das Datum ist, an dem der Patch generiert wurde, und das CommitDate, als es tatsächlich auf das Repository angewendet wurde.