Odpowiedzi:
Istnieje kilka opcji, aby ładnie wydrukować datę. Prawdopodobnie najłatwiej jest po prostu użyć jednego z gotowych --pretty
formatów, na przykład git log --pretty=fuller
- to pokaże obie daty. Jeśli chcesz zobaczyć tylko jedną datę, ale ustaw ją jako datę zatwierdzenia, możesz użyć git log --format=<some stuff>
. Wszystkie dopuszczalne kody definiujące format są udokumentowane w git help log
. Commit data jest jednym z %cd
, %cD
, %cr
, %ct
lub %ci
, w zależności od formatu wolisz go.
Jeśli jest to coś, co chcesz często robić, umieść to w aliasie lub napisz skrypt pomocniczy, aby zaoszczędzić na wpisywaniu.
Możesz używać --pretty=format
i używać %cr
dla daty zatwierdzenia względnej.
Na przykład:
$ git log --graph --pretty=format:'%C(auto)%h%d (%cr) %cn <%ce> %s'
Możesz zdefiniować alias w git, aby był łatwiejszy w użyciu. Mam w moim .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
W systemie Linux lub podobnym możesz używać apostrofów '
zamiast cudzysłowów "
:
[alias]
lol = log --graph --pretty=format:'%C(auto)%h%d%Creset %C(cyan)(%cr)%Creset %C(green)%cn <%ce>%Creset %s'
Dzięki temu po prostu uruchom git lol
lub inne warianty, aby zobaczyć ładny wynik.
Oto wynik git lol --simplify-by-decoration
:
lol
jest łatwiejsze do wpisania niż log
i brzmi lepiej.
git log
jeśli kiedykolwiek będziesz go potrzebować.Oto wynik działania git lold
z datami w formacie ISO. Przydatne, aby zobaczyć dokładną datę / godzinę dokonania zatwierdzenia, z dodatkową zaletą łatwego przeglądania strefy czasowej współtwórcy.
Edycja 2020-06 : Dodano zrzuty ekranu. Zaktualizowano do używania %C(auto)
(automatyczne / domyślne kolorowanie) dla %h
(skrót zatwierdzenia) i %d
(nazwy referencyjne). Dodano %cn
(imię i nazwisko osoby zarządzającej) oprócz wiadomości 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: błąd składni w pobliżu nieoczekiwanego tokenu `('
Wolę ten format, nie zawiera nazwiska autora i zawiera aktualną datę zatwierdzenia.
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
aby zobaczyć przykład). W przypadku rozwoju lokalnego są one zwykle takie same, ale w przypadku poprawek dodawanych za pośrednictwem poczty e-mail lub innych mechanizmów mogą się różnić, gdzie AuthorDate to data wygenerowania poprawki, a CommitDate to data, kiedy została faktycznie zastosowana w repozytorium.