Git Shortlog

Artigos - 05/Ago/2020 - por Allan Siqueira

Para pessoas que trabalham em desenvolvimento de software, é bastante comum contribuir em vários projetos, assim como integrar grandes times. E, somando o momento de isolamento social, em que a maioria das pessoas que podem estão trabalhando remotamente, muitas vezes fica complicado saber exatamente em qual funcionalidade cada membro do time está trabalhando no momento.

Para nossa sorte, o Git consegue nos ajudar com este problema. À distância de um comando, conseguimos obter informações que podem nos ajudar a entender mais precisamente quais alterações estão sendo realizadas no projeto que estamos trabalhando e por quem.

Utilizando o git shortlog

Para aqueles que já utilizam o Git, o git shortlog se parece com o git log, porém os commits serão reunidos por autor e título, por exemplo:

$ git shortlog

Como podemos ver no exemplo acima, o comando retorna o nome do autor, a quantidade e o título dos commits que foram adicionados.

Utilizando filtros de data

Na maioria das vezes, nós queremos ver apenas as alterações de um período de tempo específico deste projeto. Tendo em vista que muitos têm vários anos de vida, uma grande quantidade dos dados pode não ser tão relevante na atual situação. Para nos ajudar nesses casos, podemos utilizar opções de filtro, como no exemplo abaixo:

$ git shortlog --after="1 week ago" --before="1 day"

--after=”1 week ago”: filtra apenas commits mais recentes que 1 semana atrás.

--before=”1 day”: filtra apenas commits feitos a partir de ontem.

Aqui mais alguns exemplos de filtros que podemos utilizar neste formato:

$ git shortlog --after="yesterday"
$ git shortlog --after="today"
$ git shortlog --after="20 days ago"
$ git shortlog --after="1 week ago"

Utilizando filtros por sequência de commits

Muitas vezes queremos ver o que foi modificado entre uma alteração e outra. Para isso, podemos filtrar o log especificando uma sequência de commits, passando seus identificadores separados por .., exemplo:

$ git shortlog <commit 1>..<commit 2>

Observação: A palavra chave HEAD está se referindo ao último commit realizado na branch ativa.

Utilizando filtros por arquivos

O shortlog também fornece a opção de filtrar commits de arquivos específicos, exemplo:

$ git shortlog -- README.md

O filtro acima irá mostrar os commits relacionados com o arquivo README.md. Também podemos filtrar vários arquivos da seguinte forma:

$ git shortlog -- README.md LICENCE Gemfile

Conclusão

O comando shortlog nos apresenta uma série de informações bastante úteis para nos contextualizarmos melhor sobre o que está sendo desenvolvido no projeto no momento, nos permitindo trabalhar em times de forma mais eficiente.

Foto de perfil do autor
Allan Siqueira

Dev na Rebase