Git Log (e o Jogo dos 7 Erros)

O Git possui um mecanismo muito importante que se parece com um jogo dos sete erros. Aquele onde são apresentadas pra você duas fotos, lado a lado, muito similares, mas que não são iguais, e você precisa destacar a diferença entre elas.

Esse mecanismo é o diff, e é o responsável por apontar a diferença entre uma "foto" do seu repositório tirada num momento em comparação com uma outra "foto" tirada desse mesmo repositório, mas num outro momento.

diff: o que foi adicionado e o que foi removido

Tome como exemplo a ilustração abaixo, onde cada foto representa uma versão do seu repositório. Se a segunda foto tem algo a menos do que a primeira, a gente pode dizer que, na segunda, esse algo foi removido. E, pra representar isso de uma forma mais visual, dá pra destacar o que estava na primeira foto e, ao ser comparado com a segunda, foi tirado.

Duas fotos lado a lado do Filipe: na esquerda, com um braço fazendo joinha pintado de vermelho destacando a remoção; na direita, sem o braço

O mesmo princípio segue se a gente adicionar algo na foto. Pegando a foto da direita como base e comparando com uma nova versão com algo a mais, a visão do diff do Git mostra que, ali, houve uma adição.

Duas fotos lado a lado do Filipe: na esquerda, sem barba; na direita, com barba pintada de verde, destacando a adição

Esse mecanismo é o mesmo que roda quando você olha o histórico de um arquivo no Git ou no GitHub: de um lado, a versão antiga, do outro, a versão nova, e o diff destaca o que saiu e o que entrou.

git log: as "fotos" do seu repositório

Pra olhar as "fotos" que o seu repositório tem, usamos o comando git log, onde essa palavra log significa registro, assim como na palavra vlog, que significa video log, ou registro em vídeo.

$ git log
commit a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0 (HEAD -> main, origin/main)
Author: Seu Nome <voce@email.com>
Date:   Wed Apr 15 10:30:00 2026 -0300

    initial commit

Se essa é a primeira vez que você está vendo isso, pode assustar um pouco. É muita informação maluca. Mas o legal é que todas fazem sentido e, ao longo do tempo, você vai se acostumando. Destacando as mais compreensíveis:

  • O autor da foto (Author).
  • A data em que foi feita (Date).
  • A descrição, nesse exemplo, initial commit.

commit: o nome técnico dessa foto

E essa palavra commit é importante, porque esse é o nome técnico daquela foto que a gente tanto falou. O legal é que uma das traduções de commit é compromisso. Ou seja, cada foto, cada snapshot que a gente tira do nosso repositório, é um commit. Os autores desses commits estão comprometidos com essas alterações, se responsabilizam por isso.

Dá pra ver também o nome do commit lá em cima, na primeira linha retornada pelo git log, que é um hash (o trecho a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0), um identificador único gerado automaticamente pelo Git no ato de fazer o commit, e que serve também como um verificador de integridade do que aconteceu ali.

O trabalho do dia a dia

Então, o trabalho no dia a dia com o Git vai se resumir a realizar normalmente alterações nos arquivos do projeto, colocar esses arquivos num palco e tirar uma foto, ou seja, criar um commit, pra que essa versão fique registrada de forma permanente e apareça na linha do tempo quando a gente digitar git log.

E sempre que você quiser comparar duas versões de um mesmo arquivo, o Git calcula o diff entre elas e mostra o que mudou, como aquele jogo dos sete erros que eu falei no começo.

Sentir-se competente em programação começa aqui.