Pular para o conteúdo principal

Tutorial do Git Commit: Como programar e documentar alterações no código

Domine os fundamentos do comando git commit e aprimore suas habilidades de controle de versão. Aprenda os conceitos básicos de preparação e confirmação de alterações, como escrever mensagens eficazes e usar opções avançadas.
Atualizado 26 de mar. de 2025  · 15 min lido

O Git se tornou o sistema ideal para gerenciar alterações em bases de código. Um dos comandos mais importantes do Git é git commit, que captura um instantâneo do histórico do seu projeto em um ponto específico no tempo.

Entender como usar o site git commit com eficiência é fundamental para manter um histórico de projetos limpo e organizado. Escrever mensagens de confirmação significativas e seguir as práticas recomendadas garante que o seu repositório permaneça gerenciável, quer você esteja trabalhando sozinho ou como parte de uma equipe maior. 

Este tutorial tem como objetivo ensinar você a usar o comando git commit, escrever mensagens de commit claras e informativas e adotar as práticas recomendadas para um controle de versão bem-sucedido.

Vamos lá!

O que é um commit do Git?

Um dos blocos de construção mais fundamentais do controle de versão no Git é o comando git commit. Um git commit captura um instantâneo do estado atual dos seus arquivos preparados e os salva no histórico do repositório. Ele cria um identificador exclusivo para as alterações e registra metadados essenciais, como o autor, o registro de data e hora e uma mensagem descritiva de confirmação - isso garante que as modificações possam ser rastreadas, compreendidas e revertidas, se necessário. 

Os desenvolvedores também podem adicionar uma mensagem de confirmação, que descreve brevemente as alterações feitas e fornece o contexto e o raciocínio por trás da atualização.

Essencialmente, os commits são importantes porque permitem que os desenvolvedores:

  • Mudanças no programa: Os commits fornecem um registro claro das modificações feitas na base de código ao longo do tempo.
  • Colaborar: Em uma configuração de equipe, os commits ajudam os desenvolvedores a entender quais alterações foram feitas, por quem e por quê.
  • Reverter para estados anteriores: Se surgir um bug ou problema, os commits permitem que os desenvolvedores revertam o projeto para um ponto estável antes da introdução da alteração problemática.
  • Manter um histórico limpo: Os commits estruturados e frequentes com mensagens significativas facilitam o gerenciamento de grandes projetos e o diagnóstico de problemas.

> Se você está apenas começando a usar o Git e o GitHub, oprograma Fundamentos do GitHub oferece a você um caminho com curadoria para ajudar você a dominar os fundamentos do controle de versão e dos fluxos de trabalho de colaboração.

Sintaxe básica do commit do Git

Para usar o Git de forma eficaz, você deve entender a sintaxe básica e a estrutura dos commits. Esta seção apresenta os principais componentes do processo de confirmação para garantir que as alterações sejam capturadas e documentadas corretamente.

Comando básico

A maneira mais simples de criar um commit é usar o seguinte comando: 

git commit -m “Your commit message” 

Aqui, o sinalizador -m permite que você inclua uma mensagem curta de confirmação descrevendo as alterações. É aqui que você fornece contexto para referência e colaboração futuras, por exemplo: 

git commit -m “Fix bug in user authentication” 

Esse comando prepara o commit e o associa à mensagem fornecida. 

O que acontece durante um commit

Veja o que acontece nos bastidores quando você faz um commit: 

  1. Mudanças de estágio: Antes de fazer o commit, você deve preparar as alterações usando o comando git add. Isso prepara os arquivos modificados para inclusão no próximo commit. Você pode organizar arquivos individuais ou todos os arquivos modificados. 
git add file.txt  #Stages one file
git add .  #Stages all files in the current directory
  1. Fazendo o compromisso: Depois que as alterações são preparadas, o comando git commit obtém o instantâneo dos arquivos preparados e os armazena no repositório. Observe que o instantâneo é o estado atual dos arquivos no momento.
  2. Atualização do repositório: Depois de fazer o commit, o Git atualiza o histórico do projeto para salvar o commit junto com todos os commits anteriores. Cada confirmação funciona como um ponto de verificação que pode ser revertido, se necessário.

Como escrever mensagens eficazes de commit do Git

Escrever mensagens de confirmação claras e significativas é essencial para manter um histórico de projeto limpo e compreensível. Uma mensagem de confirmação bem escrita também serve como uma ferramenta de comunicação, ajudando os desenvolvedores e colaboradores a entender rapidamente o propósito e o contexto de cada alteração.

Importância de boas mensagens de compromisso

Boas mensagens de compromisso funcionam como um mapa. Eles fornecem informações sobre o raciocínio por trás de cada alteração, o que se torna inestimável quando você revisa o código posteriormente ou soluciona problemas. Mensagens de confirmação bem escritas também facilitam o rastreamento de bugs, a compreensão da evolução dos recursos e a navegação pelo histórico do repositório. 

Práticas recomendadas para mensagens de confirmação

Para garantir que suas mensagens de confirmação atendam ao objetivo, siga estas práticas recomendadas:

  1. Seja descritivo: Uma mensagem de confirmação deve explicar o que foi alterado e, quando relevante, por que a alteração foi feita. Evite mensagens vagas ou genéricas como "corrigir" ou "atualizar". Em vez disso, busque a especificidade. Por exemplo, "Corrigir erro de validação do formulário de login" é muito mais útil do que simplesmente "Corrigir bug".
  2. Use o tempo verbal presente: As mensagens de compromisso devem ser escritas no tempo presente. Isso dá a impressão de que você está descrevendo o que o commit está fazendo naquele momento. Por exemplo, use "Adicionar validação de login" em vez de "Adicionada validação de login".
  3. Mantenha-o curto e simples: Uma mensagem concisa é mais legível. O resumo (a primeira linha da mensagem de confirmação) normalmente deve ter de 50 a 72 caracteres e, se for necessária mais explicação, você pode incluir uma descrição mais longa nas linhas subsequentes. Essa abordagem garante que a mensagem possa ser facilmente visualizada usando várias ferramentas e interfaces do Git.
  4. Use marcadores para alterações detalhadas: Se o seu commit envolver várias alterações relacionadas, use marcadores na descrição estendida para detalhar o que foi feito. Isso ajuda a criar uma estrutura clara, facilitando o acompanhamento.

> Se você quiser ir além dos conceitos básicos de comandosts, o curso Git Intermediário aborda conceitos mais avançadosvocê conhecerá conceitos mais avançados, como alteração, rebase e gerenciamento do histórico de commits em equipes.

Opções avançadas do Git Commit

O sinalizador -m é uma opção comum usada nos comandos de confirmação do git e é suficiente para o uso diário. No entanto, várias outras opções avançadas oferecem maior flexibilidade e eficiência no gerenciamento de alterações. Nesta seção, daremos uma olhada nessas opções. 

Comprometer-se sem preparação

Em muitos casos, a preparação manual de arquivos com git add antes da confirmação pode parecer desnecessária, especialmente quando todos os arquivos modificados precisam ser confirmados. Para acelerar esse processo, o Git fornece o sinalizador -a, que organiza todos os arquivos programados e os confirma em uma única etapa. Isso significa que todas as alterações feitas em arquivos rastreados anteriormente são incluídas no commit sem que você precise executar explicitamente o programa git add.

Veja como isso funciona:

git commit -a -m “Your commit message” 

Alterar um compromisso

Você pode cometer erros. Às vezes, você pode precisar alterar um commit que acabou de fazer. A opção --amend permite que você modifique o commit mais recente em vez de criar um novo. Isso permite que você atualize a mensagem do commit ou adicione outros arquivos ao mesmo commit.

Por exemplo, para corrigir a mensagem do último commit: 

git commit --amend -m "Update commit message"

Ou, se você esqueceu de preparar um arquivo, primeiro adicione o arquivo e depois altere o commit:

git add missed-file.txt
git commit --amend

Isso efetivamente substitui o commit anterior pelo atualizado. 

Observe que a alteração só deve ser feita em commits que não tenham sido compartilhados com outras pessoas (por exemplo, que não tenham sido enviados para um repositório compartilhado) para evitar reescrever o histórico do qual outras pessoas possam depender!

Commit com alterações e arquivos de um commit específico

Às vezes, você precisa corrigir ou corrigir um problema em um commit anterior sem fazer alterações não relacionadas. O Git oferece a opção --fixup, que ajuda a criar um commit de acompanhamento especificamente vinculado a um anterior. Isso é particularmente útil quando você precisa limpar o histórico de commits antes de mesclar as alterações.

Por exemplo, para criar uma correção para um commit específico:

git commit --fixup <commit-hash>

Esse comando criará um novo commit que se destina a resolver problemas no commit especificado. 

Posteriormente, quando você executar um rebase interativo, o Git poderá automaticamente combinar esses commits de correção com o commit original ao qual eles fazem referência.

> Para fluxos de trabalho mais avançados, como a redução de commits, você pode seguir nosso passo a passo detalhado nono tutorial Git Squash Commits.

Gerenciando commits com o Git

À medida que o projeto evolui e o histórico de commits aumenta, o gerenciamento de commits se torna um aspecto essencial para manter um repositório organizado e navegável. O gerenciamento eficaz de confirmações ajuda na depuração, na colaboração e na manutenção de um histórico limpo e compreensível. 

O Git fornece ferramentas poderosas que permitem que você visualize o histórico de commits e revise ou até mesmo desfaça as alterações quando necessário. Se você souber como gerenciar esses commits, poderá economizar muito tempo ao resolver problemas ou refinar o histórico do seu projeto.

Exibir o histórico de confirmações

Um aspecto crucial do gerenciamento de comprometimento é entender o histórico do projeto. O comando git log permite que você visualize um histórico detalhado dos seus commits. Para fins de contexto, ele fornece informações sobre quando as alterações foram feitas, quem as fez e quais mensagens foram anexadas.

Por exemplo, aqui está o comando básico git log:

git log

Isso exibe hashes de confirmação, nomes de autores, datas e mensagens de confirmação. 

Mas o Git também permite que você personalize a saída do registro para atender a necessidades específicas. Por exemplo, você pode limitar o número de commits exibidos da seguinte forma: 

git log -n 5 # shows the last 5 commits

Para inspecionar as alterações feitas em cada commit, use o sinalizador -p, que mostra o diff de cada commit. 

Veja como fica:

git log -p

Reverter ou desfazer um commit

Às vezes, você precisa voltar atrás ou desfazer alterações. Uma maneira segura de desfazer um commit é usaro comando git revert. Isso cria um novo commit que desfaz as alterações introduzidas por um commit anterior sem alterar o histórico de commits. 

Isso é especialmente útil quando você já compartilhou commits com outras pessoas e deseja manter o histórico intacto.

Para reverter um commit, use o seguinte:

git revert <commit-hash>

Esse comando aplica um inverso das alterações do commit especificado, desfazendo-as efetivamente e mantendo um histórico transparente.

Redefinição de um commit

Em alguns casos, você pode querer redefinir completamente o repositório para um estado anterior, apagando um ou mais commits. O comando git resetd permite que você faça exatamente isso. No entanto, a redefinição de um commit modifica o histórico de commits, portanto, deve ser usada com cautela, especialmente se as alterações já tiverem sido enviadas para um repositório compartilhado.

O Git Reset oferece três modos:

  1. Reinicialização suave: Move o ponteiro de confirmação de volta para uma confirmação especificada, mas mantém as alterações no diretório de trabalho e na área de preparação. Isso é útil quando você deseja refazer um commit, mas preservar suas alterações. 
git reset --soft <commit-hash>
  1. Reinicialização mista: Move o ponteiro de confirmação de volta para uma confirmação especificada e mantém as alterações no diretório de trabalho, mas limpa a área de preparação. Esse é o modo de redefinição padrão do Git.
git reset --mixed <commit-hash>
  1. Reinicialização total: Move o ponteiro de confirmação de volta para uma confirmação especificada e descarta todas as alterações no diretório de trabalho e na área de preparação. Isso basicamente reverte o repositório para o estado do commit escolhido e exclui todas as alterações feitas após o commit. 
git reset --hard <commit-hash>

O comando git reset é uma ferramenta poderosa, mas é essencial que você entenda suas implicações (especialmente ao trabalhar em um ambiente colaborativo).  

Práticas recomendadas para fazer commits no Git

O controle de versão eficaz exige mais do que apenas conhecer os comandos do Git, mas também significa seguir determinadas práticas recomendadas para manter um histórico de projeto limpo, compreensível e eficiente. Essas práticas não apenas ajudam você a gerenciar seu próprio trabalho, mas também facilitam a contribuição e a revisão das alterações pelos colaboradores.

Comprometa-se com frequência, mas mantenha o compromisso pequeno

Uma boa regra geral é que você se comprometa com antecedência e com frequência, mas mantenha cada compromisso pequeno e focado. Essa abordagem garante que cada commit represente uma unidade de trabalho distinta e lógica. 

Fazer commits com frequência pode ajudar a dividir grandes alterações em partes gerenciáveis, o que facilita a revisão, o teste e o rastreamento da evolução do seu projeto. Ao fazer alterações menores e isoladas, você também reduz o risco de introduzir erros complexos. Se algo der errado, será mais fácil isolar e corrigir o problema quando os commits forem granulares.

Confirmar apenas as alterações relacionadas

Cada commit deve se concentrar em uma única tarefa ou problema. A mistura de alterações não relacionadas em um único commit dificulta a revisão e o entendimento da intenção por trás das modificações. Isso também complica o processo de reversão ou de seleção de alterações específicas, se necessário.

Por exemplo, se você estiver trabalhando em um recurso, mas perceber um pequeno bug em outra parte do código, é melhor lidar com eles como dois commits separados. Isso permite que você entenda claramente o que foi feito e por quê, além de garantir que cada commit seja significativo e isolado.

Colaborar com outras pessoas no histórico de confirmações

Ao trabalhar em uma equipe, é essencial alinhar-se com seus colaboradores sobre como os commits são tratados e apresentados. Isso inclui chegar a um acordo sobre um formato consistente para o envio de mensagens e garantir que todos sigam as práticas recomendadas. Os hooks do Git, como os hooks de pré-compilação, podem ajudar a aplicar regras como formatos de mensagens de confirmação ou execução de testes antes que uma confirmação seja permitida.

A colaboração também é aprimorada por ferramentas que ajudam a gerenciar e revisar os commits, como plataformas de revisão de códigocomo o GitHub ou o GitLab. Umhistórico de confirmações claro e bem documentadofacilita para os membros da equipe entenderem as alterações, discutirem melhorias e manterem o projeto em andamento de forma eficiente.

> Você deseja organizar os arquivos restantes antes de enviar? Saiba como usar o git clean emeste tutorial sobre como remover arquivos não rastreados.

Solução de problemas comuns de commit do Git

Às vezes, os commits do Git podem resultar em erros ou desafios que podem atrasar seu fluxo de trabalho. Entender como solucionar esses problemas comuns é fundamental para manter um controle de versão tranquilo e evitar problemas mais significativos no futuro.

Erros de mensagem de confirmação

Um erro comum ao fazer o commit de alterações é esquecer de adicionar uma mensagem de commit ou usar acidentalmente uma mensagem vaga ou vazia. Mensagens de confirmação claras e informativas são essenciais para que você mantenha o controle das alterações e permita que os colaboradores entendam o histórico de um projeto. Normalmente, o Git impedirá que você faça o commit sem uma mensagem, mas ainda é possível ignorar a qualidade da própria mensagem.

Solução: Sempre verifique novamente a mensagem de confirmação antes de pressionar Enter. Se você enviar acidentalmente um commit com uma mensagem vazia ou pouco clara, poderá corrigi-la usando o comando git commit --amend para modificar a mensagem de commit mais recente. 

Conflitos após o commit

Os conflitos são inevitáveis quando várias pessoas estão trabalhando no mesmo projeto. Eles geralmente surgem após um commit quando você está mesclando ramificações ou fazendo rebase. Um conflito ocorre quando o Git não consegue resolver automaticamente as diferenças entre dois commits, deixando que você escolha manualmente quais alterações manter.

É mais provável que ocorram conflitos quando dois ou mais colaboradores modificam a mesma seção de código ou quando grandes refatorações são feitas em um projeto. Embora isso possa ser assustador, o Git fornece as ferramentas para que você resolva esses conflitos sem perder dados.

Solução: Quando ocorrer um conflito, o Git marcará as seções conflitantes nos arquivos, e você precisará resolvê-las manualmente editando o arquivo para refletir as alterações desejadas. Depois de fazer as alterações necessárias, prepare o arquivo com git add e, em seguida, conclua o merge ou rebase confirmando as alterações resolvidas. Ferramentas como o editor de conflitos de mesclagem do Git ou ferramentas de mesclagem externas também podem ajudar você a resolver conflitos com mais eficiência.

Conclusão

O comando git commit é um aspecto fundamental do controle de versão no Git que permite que os desenvolvedores criem instantâneos de seu trabalho que podem ser rastreados, revisados e revisitados ao longo do tempo. Os commits servem como marcos no histórico de um projeto, esclarecendo quais alterações foram feitas, por que elas eram necessárias e quando foram implementadas.

Neste tutorial, abordamos a sintaxe básica e o processo de fazer uma confirmação, desde a preparação dos arquivos com git add até a finalização da confirmação com git commit. Discutimos a importância de escrever mensagens de compromisso claras e concisas, seguindo as práticas recomendadas, como manter as mensagens descritivas, usar o tempo presente e manter a brevidade. 

Além disso, exploramos opções avançadas, como o commit sem preparação e a alteração de commits, oferecendo flexibilidade ao gerenciar suas alterações. Também vimos como gerenciar commits por meio de comandos como git log, reverter e redefinir.

Você está pronto para explorar o GitHub com mais profundidade? Em nosso curso Conceitos do GitHub, você se aprofundará em bifurcações, ramificações, problemas e práticas recomendadas de colaboração. Se você estiver se preparando para um fluxo de trabalho ou entrevista no mundo real, o Complete Git Cheat Sheet é uma ótima referência para ter sempre à mão!

Aprenda hoje os fundamentos do Git

Para iniciantes: Controle de versão principal usando o Git.
Comece a aprender de graça

Perguntas frequentes

Posso fazer o commit sem uma mensagem no Git?

Tecnicamente, sim, mas não é recomendado. Se você executar git commit sem o sinalizador -m, o Git abrirá o seu editor de texto padrão para que você possa inserir uma mensagem de commit interativamente. Se você salvar e sair sem escrever nada, o Git poderá cancelar o commit ou salvar uma mensagem vazia, dependendo da sua configuração. As mensagens de confirmação são cruciais para rastrear as alterações - sempre inclua uma!

Qual é a diferença entre o git commit e o git push?

git commit salva as alterações localmente no seu repositório Git, enquanto o git push envia essas alterações para um repositório remoto, como o GitHub ou o GitLab. Pense nos commits como instantâneos locais e no push como a maneira de compartilhar esses instantâneos com outras pessoas.

Posso alterar um commit depois de enviá-lo?

Sim, mas é arriscado. Embora você possa alterar ou reescrever os commits usando comandos como git commit --amend ou git rebase, a alteração dos commits enviados pode causar problemas para os colaboradores. Se você precisar alterar um commit após o envio, provavelmente precisará usar git push --force, que reescreve o histórico - use com cautela em branches compartilhados.

O que é um commit assinado do Git?

Um commit assinado usa GPG (GNU Privacy Guard) ou SSH para verificar criptograficamente a identidade do autor do commit. Isso é especialmente útil em ambientes corporativos ou de código aberto, nos quais é importante validar o autor de uma alteração. Você pode criar um commit assinado usando:

git commit -S -m "Your message"

Posso desfazer um commit sem perder minhas alterações?

Sim! Você pode usar git reset --soft HEAD~1 para desfazer o último commit e manter as alterações preparadas, ou git reset --mixed HEAD~1 para mantê-las no diretório de trabalho. Isso é útil quando você percebe que se comprometeu cedo demais ou com a mensagem errada.

Como faço para verificar quais arquivos foram incluídos em um commit específico?

Você pode correr:

git show --name-only

Isso mostrará a você a mensagem do commit, o diff e a lista de arquivos que foram alterados nesse commit.

Existe uma maneira de impor a formatação da mensagem de confirmação em um projeto?

Sim. Você pode usar os ganchos do Git, como commit-msg, para impor regras (por exemplo, exigir números de tíquetes do JIRA ou formatação específica). Ferramentas como Husky e Commitlint ajudam a automatizar isso em ambientes de equipe.


Kurtis Pykes 's photo
Author
Kurtis Pykes
LinkedIn
Tópicos

Saiba mais sobre o Git com estes cursos!

Curso

Introduction to Git

2 h
30.7K
Discover the fundamentals of Git for version control in your software and data projects.
Ver detalhesRight Arrow
Iniciar curso
Ver maisRight Arrow
Relacionado
Git

blog

O que é Git? Manual completo do Git

Saiba mais sobre o sistema de controle de versão mais conhecido e por que é uma ferramenta de colaboração indispensável para cientistas de dados e programadores.
Summer Worsley's photo

Summer Worsley

14 min

Tutorial

Tutorial do GitHub e do Git para iniciantes

Um tutorial para iniciantes que demonstra como funciona o controle de versão do Git e por que ele é crucial para projetos de ciência de dados.
Abid Ali Awan's photo

Abid Ali Awan

9 min

Tutorial

Tutorial de push e pull do GIT

Saiba como realizar solicitações Git PUSH e PULL por meio do GitHub Desktop e da linha de comando.

Olivia Smith

13 min

Tutorial

Git Rename Branch: Como renomear uma filial local ou remota

Saiba como renomear ramificações locais e remotas do Git usando o terminal ou a interface gráfica do usuário (GUI) de clientes populares como o GitHub.

Tutorial

Como escrever um script Bash: um tutorial simples de scripts Bash

Descubra os fundamentos da criação de scripts Bash e aprenda a escrever um script Bash.
Kurtis Pykes 's photo

Kurtis Pykes

5 min

Tutorial

Git Prune: O que é o Git Pruning e como usar o Git Prune

O Git prune é um comando do Git que remove objetos do repositório que não são mais acessíveis a partir de qualquer commit ou branch, ajudando a liberar espaço em disco.
Ver maisVer mais