Sto cercando di personalizzare il formato per git log. Voglio che tutti gli commit vengano mostrati in una riga. Ogni riga dovrebbe mostrare solo la prima riga del messaggio di commit.
Ho scoperto che git log --pretty=shortdovrebbe fare il trucco, ma sul mio computer mostra il registro completo come git logfa (oltre al timestamp).
Inoltre, ho cercato di utilizzare i segnaposto come definito nella pagina man . Tuttavia, non sono riuscito a trovare un comando per abbreviare il messaggio di registro. Ho provato questa riga git log --pretty=format:'%h : %s'che mostra l'hash in corto %he il messaggio completo %sin una riga.
Sto usando git version 1.7.3.1.msysgit.0su Vista.
Forse ha qualcosa a che fare con il modo in cui scrivo i miei messaggi di commit. Ecco un esempio:
Added some functionality.
+ Added print function in Foo class.
+ Added conversion from foo to baz.
Quindi, con l'esempio fornito, desidero solo l'output Added some functionality.anteposto dall'hash di shortend.
shortformato non è tutto su una riga, sebbene (sorpresa!) Lo onelineè. Se onelinee %h : %snon sei quello che vuoi, cosa c'è che non va in loro? In particolare, %sè l'oggetto, la prima riga del messaggio di commit. Dovrebbe davvero essere una versione abbreviata. È possibile che tu abbia fatto dei commit con una sola lunga riga per il messaggio e che tu li abbia visualizzati in qualche modo con la parola a capo?
onelinee %snon lo fanno in uscita quello che ci aspettiamo, almeno sul mio computer. Ho aggiornato il mio post con un esempio del mio messaggio di commit. Forse aiuta.
%sè l'oggetto, non il messaggio completo.