Blog Formação DEV

Como fazer bons commits

Neste artigo veremos dicas valiosas para a criação de bons commits no Git.
Como fazer bons commits
Texto de: Letícia Garcez

Introdução

Todo mundo que utiliza o sistema de versionamento Git em um momento ou outro se deparou com um problema: como organizar um commit. Quais arquivos devem entrar no commit? E que mensagem colocar?

Esse é um problema que afeta todas as pessoas que programam, e com toda certeza precisa ser tratado com seriedade já que commits mal feitos podem levar a confusões no futuro, além de dificultar muito a manutenção do código caso seja necessário voltar ao histórico de commits.

O que é um bom commit?

De maneira geral, um bom commit é aquele responsável por uma única alteração onde podemos facilmente identificar o que foi feito. Commits grandes, que contém diversas alterações diferentes, costumam ser difíceis de revisar e entender. Além disso, mensagens genéricas como “atualização”, “bug corrigido”, “nova funcionalidade” podem ser problemáticas pois não conseguimos identificar exatamente o que aquele commit está fazendo.

Que arquivos adicionar em um commit?

Esse é o primeiro obstáculo na criação de um bom commit. Muitas vezes, enquanto estamos desenvolvendo um projeto, acabamos nos esquecendo de fazer commits até chegar o momento de dar uma pausa no desenvolvimento e nesse momento, nos deparamos com diversos arquivos alterados.

A quantidade de arquvios por commit pode variar, mas o ideal é que todos os arquivos presentes no commit tenham relação apenas com a alteração que aquele commit implementa e apenas com ela.

Vamos supor que você vai implementar uma página chamada Carrinho e para implementá-la, você precisou alterar os arquivos Botao, Cabecalho e ContextoGlobal. Depois disso, foi preciso implementar a página ConfirmarCompra e novamente foi necessário editar os arquivos Botao e ContextoGlobal.

A abordagem correta aqui seria fazer um commit após finalizar a página Carrinho e outro após implementar a página ConfirmarCompra ao invés de fazer um único commit com todas as alterações, já que se todas as alterações forem adicionadas no mesmo commit você ficará com as alterações responsáveis pela página Carrinho e pela página ConfirmarCompra juntas.

Isso significa que caso um bug tenha sido introduzido nas alterações responsáveis pela página ConfirmarCompra, retornar para o commit anterior à essa alteração também irá deletar as alterações responsáveis pela página Carrinho.

Como escrever a mensagem de um commit?

A mensagem de um commit é uma das primeiras coisas que vemos ao acessar o histórico de commits. Essa mensagem precisa ser clara e também precisa identificar o que foi alterado naquele commit. O tamanho máximo para a mensagem é 50 caracteres, o que significa que o texto escrito deve ser claro e conciso.

Ao invés de uma mensagem como “melhoria no botão”, deveríamos utilizar algo como “botão de logout recebe cor por props” ou então “botão de logout alterado para receber cor”, enfim, existem diversas formas de transformar uma mensagem mais genérica em uma mensagem específica que nos dê algum tipo de informação sobre as alterações que foram implementadas.

Existem algumas padronizações para a elaboração de mensagens em commits que tem o intuito de ajudar a criação de mensagens de commit mais claras e úteis. Um exemplo disso é o padrão Conventional Commits, que veremos logo em seguida.

Conventional Commits

O padrão Conventional Commits define uma estrutura para as mensagens de commit. Esse padrão é divido em cabeçalho, corpo e rodapé e pode ser visto abaixo:

<tipo>[escopo opcional]: <descrição>

[corpo opcional]

[rodapé(s) opcional]

O cabeçalho da mensagem contém um tipo que descreve o tipo da mudança feita no código, um o escopo e a descrição daquele commit. Alguns exemplos de tipo estão listados abaixo:

  • fix: correção de bug
  • docs: mudanças na documentação
  • feat: criação de uma nova funcinalidade

Já o corpo da mensagem é opcional e é usado para descrever as alterações com mais detalhes. O rodapé também é opcional e pode ser usado para fornecer informações adicionais sobre o commit.

Considerações finais

Fazer bons commits no GitHub é uma habilidade importante para qualquer pessoa que trabalhe com desenvolvimento ou programação já que bons commits fazem toda a diferença na hora que o Git precisar ser utilizado para resolver problemas no código.

Bons estudos!

Sobre o autor
Cod3r

Cod3r

Com mais de 400 mil alunos, a Cod3r é uma das principais escolas de tecnologia do País. Um de seus produtos mais importantes é a Formação DEV, com objetivo de preparar os profissionais para o mercado.

Ótimo! Inscreveu-se com sucesso.

Bem-vindo de volta! Registou-se com sucesso.

Assinou com sucesso o Blog Formação DEV .

Sucesso! Verifique o seu e-mail para obter o link mágico para se inscrever.

As suas informações de pagamento foram atualizadas.

Seu pagamento não foi atualizado.