2012-09-27 10 views
5

mi ritrovo a fare git log --oneline molto spesso per ottenere una rapida occhiata a modifiche che sto per spingere - o unire dal telecomando. È possibile aggiungere qualche identificatore (come "[...]") per contrassegnare quel messaggio di commit come multilinea, quindi posso sapere che ci sono più informazioni lì?Come fare show 'git log --oneline' che impegnano i messaggi sono più righe

In sostanza, quello che voglio è questo:

e1140de Some commit message 
d1f58d1 Some multine commit message [...] 
736f778 Some other commit message 

risposta

6

Con l'aiuto di Adam's answer, mi si avvicinò con un'alternativa alla mia richiesta:

git log --format="%h %s%n%b" 

Questo è proprio come --oneline, tranne che mette un'interruzione di linea e il corpo del messaggio subito dopo l'oggetto del messaggio. Sembra molto meglio con alcuni colori:

git log --format="%C(yellow)%h%Creset %Cgreen%s%Creset%n%b" 
+0

Abbiamo commenti multilinea per default nella cronologia del commit. Come ottengo l'ultima riga di commit multilinea? –

2

Si può fare questo con un po 'di scripting. C'è un token del corpo del messaggio per il formato nel log git (%b).

Ma nulla può farlo in un comando: devi vedere se il corpo del messaggio è vuoto o no.

+0

Grazie per aver segnalato il token per il corpo del messaggio. Per la cronaca, è '% b' – alextercete

+0

Aggiungendo alla risposta :) non si ottengono righe vuote? Quindi non è necessario lo scripting :) –

1

Mi sono abituato ad aggiungere manualmente "(s.b.)" per questo che sta per "vedi sotto".

È possibile utilizzare un hook prepar-commit-msg per aggiungerlo automaticamente se un messaggio di commit è multilinea.

+1

Non voglio davvero fare confusione con i messaggi di commit, è solo un requisito di visualizzazione. – alextercete

Problemi correlati