2013-01-09 24 views
74

Come posso configurare git log per mostrare commit date invece di author date?Come configurare 'git log' per mostrare 'data di commit'

+0

??? La data su git log * è * la data di commit .. non è nemmeno sicuro di cosa intendi per "data dell'autore" – Colleen

+18

@Colleen Ogni commit ha due date associate - AuthorDate e CommitDate ('git show --pretty = fuller HEAD' a se un esempio). Per lo sviluppo locale, di solito sono gli stessi, ma per le patch aggiunte via e-mail o altri meccanismi, possono differire, dove AuthorDate è la data in cui la patch è stata generata e CommitDate si trova quando è stato effettivamente applicato al repository. – twalberg

+0

ok, ma di nuovo, l'impostazione predefinita è data di commit. – Colleen

risposta

81

Ci sono diverse opzioni. Probabilmente il modo più semplice è usare uno dei formati --pretty precotti, come git log --pretty=fuller - questo mostrerà entrambe le date. Se si desidera vedere solo una data, ma renderla la data di commit, è possibile utilizzare git log --format=<some stuff>. Tutti gli allowable codes 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 di quale formato si preferisce in.

Se si tratta di qualcosa che si vuole fare spesso, metterlo in un alias o scrivere uno script ausiliario per salvare alla digitazione.

+1

Link ai bei formati: https://git-scm.com/docs/pretty-formats – b01

33

È possibile utilizzare --pretty=format e utilizzare %cr per la data di commit relativa.

Ho il seguente alias nel mio .gitconfig

[alias] 
lol = log --graph --pretty=format:\"%C(yellow)%h%Creset%C(cyan)%C(bold)%d%Creset %C(cyan)(%cr)%Creset %C(green)%ce%Creset %s\" 

Poi basta eseguire git lol e vedrete una bella storia a colori con hash/data/autore/commenti.

+1

Viene visualizzato un errore di analisi: 'git log --graph --pretty = formato: \"% C (giallo)% h% Creset% C (ciano)% C (grassetto)% d% Creset% C (ciano) (% cr)% Creset% C (verde)% ce% Creset% s \ "' bash: errore di sintassi vicino a un token imprevisto '(' – frakman1

+2

@ frakman1 - è necessario sfuggire il "s" per la linea sopra per eseguire nel terminale – stites

+1

Riga corretta: git log --graph --pretty = formato: "% C (giallo)% h% Creset% C (ciano)% C (grassetto)% d% Creset% C (ciano) (% cr)% Creset% C (verde)% ce% Creset% s " – RedSands

Problemi correlati