Risposte:
Ci sono diverse opzioni per stampare abbastanza la data. Probabilmente il più semplice è usare solo uno dei --pretty
formati precotti , come git log --pretty=fuller
- questo mostrerà entrambe le date. Se vuoi vedere solo una data, ma impostala come data di commit, puoi usare git log --format=<some stuff>
. Tutti i codici consentiti per la definizione del formato sono documentati in git help log
. La data di commit è uno dei %cd
, %cD
, %cr
, %ct
o %ci
, a seconda del formato ciò che si preferisce in.
Se è qualcosa che vuoi fare spesso, inseriscilo in un alias o scrivi uno script ausiliario per salvare durante la digitazione.
È possibile utilizzare --pretty=format
e utilizzare %cr
per la data di commit relativa.
Per esempio:
$ git log --graph --pretty=format:'%C(auto)%h%d (%cr) %cn <%ce> %s'
Puoi definire un alias in git per renderlo più facile da usare. Ho quanto segue nel mio .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
Su Linux o sistemi simili, puoi utilizzare virgolette singole '
invece di virgolette doppie "
:
[alias]
lol = log --graph --pretty=format:'%C(auto)%h%d%Creset %C(cyan)(%cr)%Creset %C(green)%cn <%ce>%Creset %s'
Con questo, esegui semplicemente git lol
o le altre varianti per vedere il bel risultato.
Ecco l'output di git lol --simplify-by-decoration
:
lol
è più facile da scrivere log
e suona anche meglio.
git log
se ne hai bisogno.Ecco l'output di git lold
con date in formato ISO. Utile per vedere la data / ora esatta in cui viene effettuato un commit, con il vantaggio di poter vedere facilmente il fuso orario del contributore.
Modifica 2020-06 : aggiunti screenshot. Aggiornato per usare %C(auto)
(colorazione automatica / predefinita) per %h
(commit hash) e %d
(nomi ref). Aggiunto %cn
(nome commiter) oltre all'email.
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: errore di sintassi vicino al token imprevisto `('
Preferisco questo formato, non include il nome dell'autore e include la data effettiva per il commit.
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
per vedere un esempio). Per lo sviluppo locale, di solito sono gli stessi, ma per le patch aggiunte tramite e-mail o altri meccanismi, possono differire, dove AuthorDate è la data in cui è stata generata la patch e CommitDate è quando è stata effettivamente applicata al repository.