Como git log de todos os ramos para o autor de uma só vez?

213

Preciso obter o relatório de todos os commits que o autor fez. Até agora, eu tenho o script que envolve o seguinte comando:

git log --pretty=format:"%ad:%an:%d:%B" --date=short --reverse --all --since=2.months.ago --author=Petr

Funciona bem. No entanto, ele relata apenas as ações para a ramificação atual. Existe alguma opção que registre as mensagens de confirmação para o autor de todas as ramificações , não apenas da atual?

Em outras palavras, o git pode fazer uma sequência classificada inversamente (por data e hora) de todos os commits no repositório e extrair as informações de log dessa sequência?

Resolvido: (copiado do comentário abaixo que está oculto de outra forma)

O problema era que eu tenho um repositório e dois clones para trabalhar simultaneamente em dois ramos. Empurrei as alterações no repositório de origem, mas esqueci de buscar as alterações no repositório clonado. Dessa maneira, parecia que --allnão funcionava ao usá-lo no repositório clonado.

pepr
fonte
Acho que você pode escrever um script de shell para isso: git logaceita committishcomo primeiro argumento: git log mybranch(e lista todas as suas ramificações git branch).
28412 Alexander Pavlov
@AlexanderPavlov: Eu provavelmente não entendo. Qual é o committish? É possível obter as informações através de um comando git?
Pepr
1
Estou recebendo commits de todos os ramos, não apenas do atual? Isso é esperado desde que você forneça --all. Seu comando está correto
CharlesB
1
@AlexanderPavlov: Não se preocupe com a git rev-listanálise, tudo git log --allbem.
precisa saber é o seguinte
1
@CharlesB: Foi o que pensei sobre o --all, mas aparentemente não funciona assim para mim. Não entendo sua explicação de ajuda: finja que todos os árbitros refs/estão listados na linha de comando como <commit>.
Pepr

Respostas:

186

Seu comando está correto, pois você usa a --allopção que fornece todos os commits de todas as ramificações. Para responder à pergunta em seu comentário, ele também funciona em repositórios vazios.

CharlesB
fonte
64

Em vez de --allvocê pode querer usar --branches, pois --alltambém inclui refs/tagse refs/remotes.

Gert Hengeveld
fonte