Para que serve o comando git log?

O comando git log é uma das ferramentas mais importantes do Git, o sistema de controle de versão amplamente utilizado por desenvolvedores ao redor do mundo. Ele permite visualizar o histórico de commits de um repositório, fornecendo informações detalhadas sobre alterações feitas no projeto, quem as realizou e quando foram realizadas.

Se você está começando com Git ou quer aprofundar seu conhecimento sobre como inspecionar e gerenciar o histórico de um projeto, este guia completo sobre o comando git log foi feito para você.

O que é o comando git log?

Em termos simples, o comando git log exibe o histórico de commits de um repositório Git. Ele lista informações como:

  • O hash do commit (um identificador único para cada commit);
  • O autor do commit;
  • A data em que o commit foi feito;
  • A mensagem de commit, que descreve as mudanças realizadas.

Este comando é uma forma poderosa de rastrear o progresso de um projeto e entender as mudanças feitas ao longo do tempo.

Por que usar o comando git log?

O comando git log oferece uma maneira de explorar o histórico do projeto. Ele é útil em diversos cenários, como:

  • Revisar mudanças feitas por diferentes membros da equipe;
  • Investigar a origem de bugs ou problemas no código;
  • Observar o progresso de um projeto ao longo do tempo;
  • Identificar quais alterações foram feitas em um período específico.

Como usar o comando git log?

O comando git log pode ser usado de várias formas, dependendo das informações que você deseja acessar. Vamos explorar os usos básicos e avançados.

Uso básico de git log

O uso mais simples do comando é apenas digitá-lo no terminal:

git log

Ao executá-lo, você verá uma saída como esta:

commit 1a2b3c4d5e6f7g8h9i0j1k2l3m4n5o6p7q8r9s
Author: João Silva <joao.silva@email.com>
Date:   Tue Dec 30 10:15:42 2024 -0300

    Corrigido bug no módulo de autenticação

A saída acima mostra o hash completo do commit, o autor, a data e a mensagem associada.

Filtrando resultados com git log

Para repositórios grandes, o histórico pode ser extenso. Felizmente, o Git oferece várias opções para filtrar resultados:

Exibir apenas um número limitado de commits

Você pode limitar a saída do git log para mostrar apenas um número específico de commits:

git log -n 5

Este comando mostrará os últimos 5 commits.

Filtrar por autor

Se você deseja visualizar apenas os commits feitos por um autor específico, use a opção --author:

git log --author="João Silva"

Filtrar por palavra-chave

Para encontrar commits que contenham uma palavra específica na mensagem, use --grep:

git log --grep="autenticação"

Formatando a saída de git log

A saída padrão do git log pode ser personalizada para incluir ou excluir informações. Aqui estão algumas opções úteis:

Exibir informações resumidas

Use a flag --oneline para exibir cada commit em uma única linha:

git log --oneline

Saída:

1a2b3c4 Corrigido bug no módulo de autenticação
5d6e7f8 Atualizado arquivo README.md

Exibir gráficos do histórico

O Git pode gerar um gráfico simples do histórico de commits. Isso é particularmente útil para visualizar ramificações e merges:

git log --graph

Combine com --oneline para uma visualização mais compacta:

git log --graph --oneline

Exibir arquivos alterados em cada commit

Use a flag --stat para ver os arquivos modificados em cada commit:

git log --stat

Saída:

commit 1a2b3c4d5e6f7g8h9i0j1k2l3m4n5o6p7q8r9s
Author: João Silva <joao.silva@email.com>
Date:   Tue Dec 30 10:15:42 2024 -0300

    Corrigido bug no módulo de autenticação

 src/authentication.js | 10 +++++-----
 tests/auth.test.js    |  4 ++--
 2 files changed, 7 insertions(+), 7 deletions(-)

Comandos avançados com git log

O comando git log também suporta funcionalidades avançadas, permitindo inspeções detalhadas do histórico do repositório.

Comparar branches

Você pode usar o git log para comparar dois branches e ver o que mudou:

git log main..feature-branch

Este comando exibe os commits que estão no branch feature-branch, mas não no main.

Exibir commits por data

Filtre os commits por data usando --since e --until:

git log --since="1 month ago" --until="yesterday"

Exibir commits que alteraram um arquivo específico

Para listar apenas os commits que modificaram um arquivo específico, use:

git log -- path/to/file

Conclusão

O comando git log é essencial para qualquer desenvolvedor que deseja gerenciar e compreender o histórico de um projeto no Git. Com suas opções e filtros, é possível obter informações detalhadas sobre alterações no repositório, identificar problemas rapidamente e colaborar de forma mais eficaz com outros membros da equipe.

Seja você um iniciante ou um usuário avançado, dominar o git log é um passo importante para melhorar sua produtividade no desenvolvimento de software. Experimente as opções apresentadas neste guia e veja como o comando pode simplificar seu trabalho!