Olá pessoal! Se você é como eu, você pode achar que o Git é um pouco intimidador às vezes. No entanto, uma coisa que eu aprendi recentemente é como escrever mensagens de commit de forma clara e organizada usando os padrões do Git.
O que é um commit no Git?
Antes de discutirmos os padrões de commits, é importante entender o que é um commit no Git. Um commit é uma forma de registrar uma mudança em um repositório Git. Cada commit inclui uma mensagem descritiva que descreve as mudanças feitas no código. Os commits são importantes para o controle de versão, pois permitem que os desenvolvedores acompanhem o histórico das alterações no código, revertam alterações indesejadas e trabalhem em diferentes versões do código ao mesmo tempo.
Eu encontrei um site muito útil chamado https://git-cct.vercel.app, que recomenda alguns padrões baseados no Conventional Commits. Esses padrões ajudam a garantir que as mensagens de commit sejam claras, concisas e fáceis de entender para toda a equipe de desenvolvimento.
Padrões de commits do Git
Então, o que exatamente são esses padrões de commit do Git? Bem, eles consistem em três partes principais: o tipo, o escopo e a descrição.
Tipos
O tipo indica o tipo de mudança que foi feita no código, como "feat" para adicionar uma nova funcionalidade ou "fix" para corrigir um bug. O campo tipo deve ser um dos seguintes:
feat: Usado para criação de nova funcionalidade;
fix: Usado para corrigir algum problema no código e/ou funcionalidade (bugs);
docs: Usado para atualizar documentações como o arquivo README.md;
style: Usado para atualizar estilos e arquivos de estilização;
refactor: Usado para refatoração de código sem alterar sua funcionalidade, apenas melhoria.;
perf: Usado para atualizar e/ou configurar performance;
test: Usado para criação, ajustes e refatoração de testes.;
build: Usado para atualizar ou modificar ferramentas de build (como a configuração de um ambiente de desenvolvimento);
ci: Usado para atualizar arquivos e configurações de CI (como a configuração de um pipeline de CI/CD);
chore: Usado quando não há alterações no código fonte mas sim no ambiente de desenvolvimento (ex: Instalação de libs, configuração do package.json, configuração de Docker, DB, etc);
Escopo
O campo escopo é opcional e é usado para fornecer mais informações sobre a mudança feita no código. Por exemplo, se a mudança foi feita em um determinado módulo do sistema, o escopo pode ser especificado. Se não houver um escopo específico, ele pode ser omitido.
Descrição
A descrição deve ser uma breve explicação da mudança feita no código. Por exemplo: "adiciona funcionalidade", "corrige bug", "atualiza documentação", etc.
Corpo
O corpo é opcional e pode ser usado para fornecer mais detalhes sobre a mudança feita no código. Ele deve ser separado da descrição por uma linha em branco e deve ser escrito em letra minúscula. O corpo pode ser usado para fornecer informações adicionais sobre a mudança, como a motivação por trás dela, como ela foi implementada, etc. Além disso, se você quiser fazer referência a problemas relacionados, como bugs, tarefas ou solicitações de pull, pode usar o rodapé, que é opcional e deve ser separado do corpo por uma linha em branco.
Exemplos práticos
Aqui está alguns exemplo de commit que adiciona uma nova funcionalidade:
Nesse exemplo, o tipo é "feat", indicando que uma nova funcionalidade foi adicionada. O escopo não foi especificado, já que a mudança foi feita em uma única página. A descrição começa com um verbo no tempo presente, "adiciona", e descreve brevemente a mudança feita. O corpo fornece informações adicionais sobre a mudança, explicando como ela funciona e por que é útil. O rodapé faz referência a um problema relacionado, com o número #123.
Lembrando que o corpo, escopo e rodapé são opcionais
Aqui está outro exemplo de commit que corrige um bug:
Nesse exemplo, o tipo é "fix", indicando que um bug foi corrigido. O escopo não foi especificado, já que a mudança foi feita em uma única mensagem de erro. A descrição começa com um verbo no tempo presente, "corrige", e descreve brevemente a mudança feita. O corpo fornece informações adicionais sobre a mudança, explicando qual foi o erro de digitação e como a mensagem foi corrigida. O rodapé faz referência a uma solicitação de pull relacionada.
Espero que esses exemplos ajudem a ilustrar como os padrões de commit do Git podem ser aplicados na prática.
Seguindo esses padrões de commit, você pode melhorar a qualidade do código, facilitar a colaboração em equipe e reduzir a complexidade do controle de versão. Então, se você ainda não está usando esses padrões, dê uma chance e veja como eles podem ajudar a tornar suas mensagens de commit mais claras e organizadas!
Espero que tenha gostado deste artigo e que ele tenha sido útil para você! :)