Commits

📋 Padronização do Histórico

O Conventional Commits é uma convenção simples para padronizar as mensagens de commit no Git. Ele define um conjunto de regras para criar um histórico de projeto explícito, legível e organizado. Em vez de mensagens genéricas, utilizamos uma estrutura fixa que permite a qualquer desenvolvedor entender imediatamente o impacto de uma alteração no código.

🏗️ Estrutura Básica

tipo(escopo_opcional): Descrição Clara e Objetiva

🎯 Por que adotar?

⚖️ O Impacto na Prática

Como era (Antes)

  • > corrigi o erro da tela
  • > atualizando arquivos
  • > novo botao

Como fica (Depois)

  • > fix(#123): resolve erro no carregamento da página de clientes
  • > chore: atualiza versão da biblioteca Python
  • > feat: adiciona botão de exportar para PDF

🏷️ Tipos de Commit

Tipo Quando Usar Exemplo Prático
feat Adição de uma nova funcionalidade ou recurso ao sistema. feat: adiciona funcionalidade de exportação para Excel
fix Correção de um bug, erro ou comportamento inesperado. fix: resolve erro de cálculo de impostos na fatura
refactor Alteração no código que não adiciona recurso nem corrige bug, mas melhora a estrutura. refactor: simplifica a lógica de validação de datas
chore Manutenção, atualizações de dependências, ferramentas de build ou scripts. chore: atualiza versão da biblioteca Python
docs Inclusão ou alteração feita exclusivamente em arquivos de documentação. docs: atualiza instruções de instalação no README
style Ajustes estéticos (formatação, espaços, aspas) que não alteram a execução do código. style: padroniza indentação para 2 espaços
test Adição de testes ausentes ou correção de testes existentes. test: adiciona teste unitário para o login
perf Uma alteração de código que melhora o desempenho/performance. perf: melhora o tempo de carregamento da lista

⚠️ Atenção (Breaking Changes)

Se um commit fizer uma alteração que quebre a compatibilidade com o que existia antes (ex: mudar a estrutura do banco de dados), adicionamos um ! após o tipo/escopo. Exemplo: feat!: altera estrutura da tabela de usuários.

🔗 Vinculação com Tarefas

Uma das maiores vantagens dessa convenção é a facilidade de vincular diretamente o código gerado a uma tarefa específica no nosso sistema de gestão (como o Planner no Teams). Ao receber uma tarefa que possui um número de identificação (ID), podemos referenciar esse ID diretamente no escopo da mensagem do commit.

Exemplo: Se estivermos trabalhando na resolução de um bug referente à tarefa #123, o commit será:

fix(#123): resolve erro no carregamento da página de clientes

Dessa forma, qualquer pessoa que consultar a tarefa #123 saberá exatamente qual pedaço de código foi alterado para resolvê-la.

📚 Mais Informações

Para documentação completa, acesse o site oficial:
conventionalcommits.org/pt-br/