image

Acesse bootcamps ilimitados e +650 cursos

50
%OFF
Article image
Vinícius Silva
Vinícius Silva07/03/2024 15:32
Compartilhe

git log: Visualizando o Histórico de Commits

  • #Git

No desenvolvimento de software, manter e entender o histórico de alterações é fundamental para rastrear o progresso do projeto, revisar o trabalho realizado e identificar quando e por que certas alterações foram feitas. O comando git log é uma ferramenta poderosa no Git que permite que os desenvolvedores visualizem o histórico de commits de um repositório.

Nesse artigo, vamos explorar o que é esse comando, quais seus casos de uso com exemplos práticos e quais suas principais vantagens.

O que é o "git log"?

O git log é um comando utilizando para exibir o histórico de commits em um repositório Git. Ele exibe os exibe em formato de lista, incluindo o nome do autor do commit, a data e hora em que foi feito e a mensagem associada.

Ele permite uma análise detalhada do desenvolvimento do projeto ao longo do tempo.

Uso e Sintaxe

A sintaxe básica do comando é a seguinte:

git log

Quando executado sem argumentos, serão listados todos os commits realizados no repositório em ordem cronológica inversa. Ou seja, o commit mais recente aparecerá primeiro.

Alguns parâmetros de destaque que complementam a funcionalidade desse comando são:

  • Indicar as diferenças introduzidas a cada commit:
git log -p
  • Limitar a quantidade de registros retornados (nesse caso apenas os 2 últimos):
git log -2
  • Exibir as algumas estatísticas abreviadas (como quantidade de alterações, inserções e exclusões):
git log --stat
  • É possível utilizar a opção --graph para visualizar um pequeno gráfico ASCII que evidencia o fluxo de trabalho entre as branchs:

image

  • Outra opção útil é o --pretty, que modifica os registros em um formato diferente do padrão
git log --pretty=oneline

Segue links da documentação oficial do git, contendo uma tabela com as opções disponíveis e outra com as formas de limitação temporal do retorno.

Variações do comando --pretty

Algumas predefinições estão disponíveis quando se usa esse comando:

  • oneline: Mostra cada commit em uma única linha;
$ git log --pretty=oneline -1
90c9d6391c57664b98f40b6267ddfd81fd39f1ff (HEAD -> feature/ApiInvestimento, origin/feature/ApiInvestimento) feat: Criação controller Tipo de Investimento
  • short: Exibe o código do commit, as branchs afetadas, o autor e a mensagem;
  • full: Incluí ainda o autor da modificação e o responsável pelo Commit;
  • fuller: Oferece ainda as informações de data de criação do commit;
$ git log --pretty=fuller -1
commit 90c9d6391c57664b98f40b6267ddfd81fd39f1ff (HEAD -> feature/ApiInvestimento, origin/feature/ApiInvestimento)
Author:   ViniciusBenevidesDaSilva <vinishrafiel@gmail.com>
AuthorDate: Sun Feb 4 10:21:44 2024 -0300
Commit:   ViniciusBenevidesDaSilva <vinishrafiel@gmail.com>
CommitDate: Sun Feb 4 10:21:44 2024 -0300

feat: Criação controller Tipo de Investimento
  • format: Permite especificar o formato personalizado do retorno esperado. Para isso são usados caracteres curinga que permitem essa otimização:
$ git log --pretty=format:"%h - %an, %ar : %s" -1
90c9d63 - ViniciusBenevidesDaSilva, 5 weeks ago : feat: Criação controller Tipo de Investimento
Uma diferença que merece destaque é entre Author e Commiter. O autor é o desenvolvedor que originalmente realizou a alteração, enquanto o commiter é a pessoa que efetivamente submeteu o trabalho.

Segue link da documentação oficial, contendo uma tabela com os caracteres curinga que podem ser utilizados.

Exemplo de uso:

Imagine o seguinte repositório:

image

Para visualizar o seu histórico de commits, podemos clicar com o botão direito do mouse e selecionar a opção "Git Bash Here". Ela irá abrir o terminal do Git Bash, no qual podemos executar comandos git.

image

Em seguida, digitamos o comando git log no terminal:

image

Apertando a tecla enter, ele será executado e evidenciará todos os commits realizados:

image

Interpretando a listagem de commits

Conforme explicado, o retorno obtido terá essa estrutura:

$ git log
commit 133a5fc45e749aada2b621d71b2a1bbea0c52bfe
Author: ViniciusBenevidesDaSilva <vinishrafiel@gmail.com>
Date:  Tue Jan 30 17:27:11 2024 -0300

feat: Criação controller usuário

commit e74100d38684cab84221faeb70656875e2b5fcf0 (origin/feature/docs, feature/docs)
Author: ViniciusBenevidesDaSilva <vinishrafiel@gmail.com>
Date:  Mon Jan 29 16:59:56 2024 -0300

docs: Inclusão documentação inicial

commit d4942decedc7faa24949d38d62de1f67af25cddc (origin/main, main)
Author: ViniciusBenevidesDaSilva <vinishrafiel@gmail.com>
Date:  Tue Jan 23 16:21:33 2024 -0300

init: Criação Repositório

Como pode ser observado, cada commit será listado com seu respectivo checksum SHA-1, as branchs envolvidas, o nome e e-mail do autor, data de inserção, e a mensagem do commit.

O Checksum SHA-1 presente nessa listagem é uma sequência alfanumérica que representa de forma exclusiva cada commit realizado. É uma informação criptografa calculada a partir do conteúdo da alteração, que visa garantir a integridade do histórico do repositório.

Vantagens do git log:

  1. Rastreamento de Alterações: O git log permite que você rastreie as alterações feitas em um projeto, fornecendo uma visão abrangente do desenvolvimento ao longo do tempo.
  2. Auditoria de Código: Com o git log, você pode revisar quem fez quais alterações e quando foram feitas, facilitando a auditoria do código e a identificação de responsabilidades.
  3. Identificação de Problemas: Ao visualizar o histórico de commits com o git log, você pode identificar rapidamente quando e onde ocorreram problemas no código, facilitando a resolução de bugs.
  4. Compreensão do Fluxo de Trabalho: O git log ajuda a entender o fluxo de trabalho do projeto, mostrando como as alterações foram integradas e as relações entre diferentes partes do código.

Conclusão

Conclui-se assim que o comando git log é uma ferramenta valiosa para entender o histórico de um repositório Git. Por fornecer uma visão detalhada dos commits, ele ajuda os desenvolvedores a rastrear o progresso do projeto, revisar o trabalho realizado e identificar problemas potencias no código.

Para seu uso de qualidade, ressalta-se a importância de se realizar commits com nomes significativos, com uma padronização que auxilie os desenvolvedores a entenderem as alterações nele realizadas, garantindo um bom gerenciamento e uma colaboração bem-sucedida no desenvolvimento de software.

Ficou com alguma dúvida? Pode enviá-la nos comentários que buscamos juntos pela resposta!!

Referências Bibliográficas

Documentação comando Git Log (português)

Documentação comando Git Log (inglês)

Documentação Checksum SHA-1 (inglês)

Compartilhe
Comentários (0)