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:
- ID do Commit (Hash): Uma longa sequência de caracteres exibida como `commit a1b2c3d4...`, que identifica unicamente cada commit.
- Autor (Author): O nome e o endereço de e-mail da pessoa que criou o commit.
- Data (Date): A data e a hora em que o commit foi criado.
- Mensagem do commit: A descrição das alterações escrita no momento do commit.
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ê.