🇯🇵 日本語 | 🇺🇸 English | 🇪🇸 Español | 🇵🇹 Português | 🇹🇭 ไทย | 🇨🇳 中文

Vamos ver o histórico! Operações básicas para verificar o histórico de commits com o `git log`

Nos artigos anteriores, aprendemos como registrar e desfazer alterações usando o Git. Conforme você avança no seu trabalho, a próxima coisa que talvez queira saber é: "Que alterações eu registrei até agora?". Ter um entendimento preciso do trabalho passado é extremamente importante para encontrar a causa de bugs ou para verificar quando uma funcionalidade específica foi implementada.

Neste artigo, vamos focar no comando `git log`, que é muito útil nessas horas. Este comando serve para exibir o histórico de commits, o "diário de bordo" do seu projeto, de uma forma clara e compreensível. Vamos dominar como extrair as informações necessárias de forma inteligente, utilizando várias opções!


Uso básico do `git log`

Primeiro, vamos executar o comando `git log` mais básico. No seu terminal (ou Git Bash), navegue até a pasta do repositório cujo histórico você deseja ver e digite o seguinte comando.

git log

Ao executar, o histórico de commits até o momento será exibido em ordem, do mais novo para o mais antigo. Cada commit inclui as seguintes informações:

Se o histórico for longo, você pode pressionar a tecla `q` para sair da exibição do log.


Para uma visualização mais clara! Opções úteis do `git log`

O `git log` padrão tem muita informação e pode ser um pouco difícil de ler. Felizmente, o `git log` vem com muitas opções convenientes para personalizar o formato de exibição.

1. Exibir o histórico de forma simples em uma linha (`--oneline`)

Ideal para quando você quer resumir cada commit em uma única linha para uma visualização simplificada. Apenas os primeiros 7 caracteres do ID do commit e a primeira linha da mensagem do commit são exibidos, permitindo que você compreenda rapidamente o fluxo geral.

git log --oneline

2. Exibir também a lista de arquivos alterados (`--stat`)

Use esta opção quando quiser ver informações estatísticas sobre quais arquivos foram alterados em cada commit, e quantas linhas foram adicionadas ou removidas.

git log --stat

3. Exibir também as alterações específicas do código (`-p` ou `--patch`)

Use esta opção quando quiser ver em detalhes as alterações específicas no nível do código (diferenças) em cada commit. Fica claro quais linhas foram adicionadas (exibidas com `+`) и quais foram removidas (exibidas com `-`).

git log -p

4. Limitar o número de commits a serem exibidos (`-n`)

Conveniente para quando você só quer dar uma olhada no histórico mais recente. Por exemplo, para exibir apenas os 3 commits mais recentes, faça o seguinte:

git log -n 3

5. Exibir graficamente as ramificações (branches) (`--graph`)

Exibe históricos complexos, como a fusão (merge) de múltiplos branches, de forma visualmente compreensível, conectando-os com linhas. Fica muito mais fácil de ler quando combinado com `--oneline`.

git log --graph --oneline

Opções para encontrar históricos específicos

À medida que os projetos crescem, encontrar um histórico de alterações específico torna-se difícil. Nesses momentos, as opções para filtrar o histórico especificando condições são úteis.

Ver apenas o histórico de um arquivo ou diretório específico

Extrai e exibe apenas o histórico de quando e como um arquivo específico (ex: `index.html`) foi alterado.

git log -- [nome-do-arquivo]

Ver apenas os commits de um autor específico (`--author`)

Conveniente para o desenvolvimento em equipe, quando você quer verificar que tipo de trabalho um membro específico tem feito.

git log --author="nome-do-usuario"

Pesquisar pelo conteúdo da mensagem do commit (`--grep`)

Pesquisa apenas os commits cuja mensagem contém uma palavra-chave específica (ex: "correção de bug").

git log --grep="palavra-chave-a-buscar"

Conclusão: Quem domina o `git log`, domina o histórico do projeto

Desta vez, apresentamos várias maneiras de verificar o histórico de commits usando o comando `git log`. No início, o básico `git log` ou `git log --oneline` pode ser suficiente, mas à medida que o projeto se torna mais complexo, as opções que introduzimos se tornarão armas poderosas.

A capacidade de visualizar livremente as alterações passadas é essencial para acelerar a resolução de problemas e manter a qualidade do código. Por favor, experimente as várias opções e encontre a forma de exibição que seja mais fácil para você.