Skip to content
Latchkey

O Que É um Commit no Git?

Um commit é um snapshot salvo do seu projeto em um ponto no tempo, com uma mensagem, um autor e um identificador único que o vincula ao seu parent.

Um commit é a unidade fundamental de histórico no Git. Cada vez que você faz um commit, registra o estado atual dos arquivos rastreados junto com quem você é, quando salvou e uma mensagem curta explicando a mudança. Commits se encadeiam para formar o histórico a partir do qual pipelines de CI/CD fazem build e deploy.

O que um commit registra

Um commit captura um snapshot dos arquivos rastreados, uma referência a um ou mais commits parent, o autor e o committer, timestamps e uma mensagem. Juntos eles respondem o que mudou, quando, por quem e por quê. O "porquê" vive na mensagem, que é a parte em que leitores e revisores futuros mais confiam.

Criando um commit

Primeiro você faz stage das mudanças que quer incluir, depois faz commit delas. Uma mensagem clara no modo imperativo mantém o histórico legível.

Staging and committing
git add src/auth.ts
git commit -m "Reject expired session tokens"

Commits formam uma cadeia

Cada commit aponta de volta para seu parent, formando um histórico direcionado. Branches são apenas ponteiros móveis para dentro dessa cadeia, e merges criam commits com mais de um parent. Percorrer os parents permite que o Git reconstrua qualquer estado passado do projeto exatamente.

Por que commits importam para CI/CD

Uma execução de pipeline é vinculada a um único commit. Quando a CI reporta um check verde ou vermelho, ela está reportando sobre aquele snapshot exato, então o resultado é reproduzível: qualquer um pode fazer checkout do mesmo commit e obter o mesmo build. Commits pequenos e focados também tornam muito mais fácil fazer bisect no histórico e encontrar a mudança que introduziu uma falha.

Hábitos de bons commits

  • Mantenha cada commit focado em uma mudança lógica.
  • Escreva uma mensagem que explique o porquê, não apenas o quê.
  • Faça commit de código funcional para que cada ponto no histórico seja construível.
  • Evite juntar edições não relacionadas, o que torna a revisão e o bisect mais difíceis.

Principais conclusões

  • Um commit é um snapshot com uma mensagem, autor e hash único.
  • Commits se encadeiam aos seus parents para formar o histórico completo do projeto.
  • A CI roda contra um commit específico, tornando os resultados de build reproduzíveis.

Guias relacionados