Come leggere l'ultimo commento di commit?


401

Spesso durante un commit ( $ git -commit -m ""), desidero leggere il mio ultimo commento per ricordare quali progressi ho fatto. C'è un modo semplice per accedere direttamente all'ultimo messaggio di commit attraverso la riga di comando? (Sto usando Windows.)


6
Se si tratta di un'azione regolare, crea un alias(es wherewasi.-) per la soluzione / riga di comando che hai scelto. Potresti anche includere le informazioni sul ramo.
Philip Oakley,

Risposte:


756
git show

è il più veloce da digitare, ma mostra anche il diff.

git log -1

è veloce e semplice.

git log -1 --pretty=%B

se hai bisogno solo del messaggio di commit e nient'altro.


2
il formato% B era quello di cui avevo bisogno per non far rientrare il messaggio di commit. E sì, @Juh_, anche se git gui non si adatta a te, è una buona idea usare il testo 80column nei messaggi di commit, non riga per paragrafo.
Peter Cordes,

4
@Juh_ Puoi mostrare l'intero messaggio usando git log -1 --pretty=%B | cat, ma come ha detto Peter, dovresti cercare di mantenerlo a 80 caratteri.
Ruckus T-Boom,

3
@Juh_ questo è un po 'troppo tardi, ma se vuoi che il messaggio di commit venga eseguito il wrapping di riga, basta reindirizzare l'output ad cat esempio:git log -1 --pretty= | cat
kosgeinsky

8
Qualcuno in cerca di maggiori informazioni sui segnaposto percentuali, consultare: kernel.org/pub/software/scm/git/docs/… (scorrere fino a format:<string>).
imme

3
Se aggiungi il format:prefisso %Bcome suggerito nei documenti man, non mostrerà più righe vuote alla fine dell'output:git log -1 --pretty=format:%B
Mariano Ruiz

84

Generalmente:

git log -n

ti mostrerà gli ultimi nmessaggi di commit

Più elegantemente, se desideri una rapida panoramica dei tuoi impegni

git log --oneline -n

Questo mostrerà solo la prima riga degli ultimi nmessaggi di commit.

Puoi salvarlo come alias git o alias shell con un comando più breve. L'ho nella mia shell come glog, per esempio, e posso vedere i miei ultimi 10 messaggi di commit con glog -10.


23

git log -1visualizzerà l'ultimo messaggio di commit o git log -1 --onelinese si desidera visualizzare solo sha1 e il messaggio di commit associato.


Che dire della stessa cosa in Mercurial?
Nevin Raj Victor,

14

Puoi usare

git show -s --format=%s

Qui --formatabilita varie opzioni di stampa, vedere la documentazione qui . In particolare, %ssignifica "soggetto". Inoltre, -ssta per --no-patch, che sopprime il contenuto diff.

Lo uso spesso

git show -s --format='%h %s'

dove %hindica un breve hash del commit

Un altro modo è

git show-branch --no-name HEAD

Sembra correre più veloce dell'altro modo.

In realtà ho scritto un piccolo strumento per vedere lo stato di tutti i miei repository. Puoi trovarlo su github .


IMO questo è meglio della risposta accettata per più commit. Non produce interruzioni di riga inutili per me. È possibile mostrare più commit (ovvero le ultime 5) includendo -5, ovverogit show -s --format=%s -5
Sigmatics il

10

git log -1 branch_name ti mostrerà l'ultimo messaggio dal ramo specificato (cioè non necessariamente il ramo in cui ti trovi attualmente).


7

Per qualcosa di più leggibile, esegui questo comando una volta:

git config --global alias.lg "log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative"

in modo che quando esegui:

git lg

hai una bella lettura. Per mostrare solo l'ultima riga:

git lg -1

Soluzione trovata qui


4

Iniziare con git log -1 --pretty='%s'

Ma quello sotto copre tutti i casi,

git log --pretty='format:%Creset%s' --no-merges -1

  • Nessuno spazio bianco indesiderato
  • Elimina i commit di unione
  • Nessun ID commit, data, Visualizza solo i messaggi.

Incolla e vedi di persona



0

Ho appena scoperto una soluzione alternativa con shell recuperando il comando precedente.

Premi Ctrl-R per visualizzare il comando di ricerca inversa:

reverse-i-search

Quindi inizia a digitare git commit -m , questo aggiungerà questo come comando di ricerca e questo porterà il precedente git commit con il suo messaggio:

reverse-i-search`git commit -m`: git commit -m "message"

Accedere. Questo è tutto!

(testato nella shell Ubuntu)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.