Como ler o último comentário de confirmação?

401

Muitas vezes, durante um commit ( $ git -commit -m ""), desejo ler meu último comentário para lembrar o progresso que fiz. Existe uma maneira fácil de acessar diretamente a última mensagem de confirmação por meio da linha de comando? (Estou usando o Windows.)

whamsicore
fonte
6
Se for uma ação regular, faça alias(por exemplo wherewasi;-) para a solução / linha de comando escolhida. Você também pode incluir as informações da filial.
Philip Oakley

Respostas:

756
git show

é o mais rápido a digitar, mas mostra também o diff.

git log -1

é rápido e simples.

git log -1 --pretty=%B

se você precisar apenas da mensagem de confirmação e nada mais.

CB Bailey
fonte
2
o formato% B era o que eu precisava para não ter a mensagem de confirmação recuada. E sim, @Juh_, mesmo que o git gui não seja adequado para você, é uma boa idéia usar o texto de 80 colunas nas mensagens de confirmação, não a linha por parágrafo.
Peter Cordes
4
@Juh_ Você pode mostrar a mensagem inteira usando git log -1 --pretty=%B | cat, mas como Peter disse, tente mantê-la com 80 caracteres.
Ruckus T-Boom
3
@Juh_ isso é um pouco tarde demais, mas se você deseja que a mensagem se comprometer a linha-wrap, basta canalizar a saída para cat isto:git log -1 --pretty= | cat
kosgeinsky
8
Alguém procurando mais informações sobre os marcadores de porcentagem, consulte: kernel.org/pub/software/scm/git/docs/… (role para baixo format:<string>).
imme
3
Se você adicionar o format:prefixo ao %Bsugerido nos documentos do homem, ele não mostrará linhas em branco extras no final da saída:git log -1 --pretty=format:%B
Mariano Ruiz
84

Geralmente:

git log -n

mostrará as últimas nmensagens de confirmação

Mais elegante - se você quiser uma visão geral rápida de seus commits

git log --oneline -n

Isso mostrará apenas a primeira linha das últimas nmensagens de confirmação.

Você pode salvar isso como um alias do git ou um alias do shell com um comando mais curto. Eu tenho isso no meu shell como glog, por exemplo, e posso ver minhas últimas 10 mensagens de confirmação com glog -10.

Abizern
fonte
23

git log -1exibirá a mensagem de confirmação mais recente ou git log -1 --onelinese você desejar que apenas a mensagem sha1 e a mensagem de confirmação associada sejam exibidas.

Gregory Pakosz
fonte
E o mesmo em mercurial?
Nevin Raj Victor
14

Você pode usar

git show -s --format=%s

Aqui --formatpermite várias opções de impressão, consulte a documentação aqui . Especificamente, %ssignifica 'sujeito'. Além disso, -ssignifica --no-patch, que suprime o conteúdo diferencial.

Eu costumo usar

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

onde %hdenota um pequeno hash do commit

Outra maneira é

git show-branch --no-name HEAD

Parece correr mais rápido do que o contrário.

Na verdade, escrevi uma pequena ferramenta para ver o status de todos os meus repositórios. Você pode encontrá-lo no github .

n
fonte
Na IMO, isso é melhor que a resposta aceita para várias confirmações. Não produz quebras de linha desnecessárias para mim. git show -s --format=%s -5
Confirmações
10

git log -1 branch_name mostrará a última mensagem do ramo especificado (ou seja, não necessariamente o ramo em que você está atualmente).

CJ Dennis
fonte
7

Para algo um pouco mais legível, execute este comando uma vez:

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"

de modo que quando você executar:

git lg

você obtém uma boa leitura. Para mostrar apenas a última linha:

git lg -1

Solução encontrada aqui

sungente
fonte
4

Começar com git log -1 --pretty='%s'

Mas o abaixo cobre todos os casos,

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

  • Sem espaços em branco indesejados
  • Rejeita fusões confirmadas
  • Sem identificação de data, data, exibe apenas as mensagens.

Cole e veja você mesmo

nehem
fonte
3

eu fiz isso

git reflog -1 | sed 's/^.*: //'
LukePOLO
fonte
0

Acabei de descobrir uma solução alternativa com o shell, recuperando o comando anterior.

Pressione Ctrl-R para exibir o comando de pesquisa reversa:

reverse-i-search

Em seguida, comece a digitar git commit -m , isso adicionará isso como comando de pesquisa, e isso traz o commit anterior do git com sua mensagem:

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

Entrar. É isso aí!

(testado no shell do Ubuntu)

Steve S.
fonte