DEV Community

Stefany Repetcki
Stefany Repetcki

Posted on • Updated on

COMMITS SEMÂNTICOS

A descrição de um commit bem estruturado consegue prevenir e corrigir possíveis bugs, e pra você que optou por usar commits semânticos eu trouxe um resumão pra sair logo do papel e botar logo em prática!

Trago aqui exemplos claros da diferença de um bom commit e um ruim.

exemplo de commit ruim❌

Ajustes
Enter fullscreen mode Exit fullscreen mode

exemplo de commit bom✅

feat(banana): funcao-cortar-fruta.js

funcao de cortar uma banana
Enter fullscreen mode Exit fullscreen mode

O exemplo de commit bom mostra o quão importante é ter um commit descrito de forma clara e objetiva. No futuro, quando precisar alterar o método "banana" você pode estar verificando esta alteração e entendendo o que ocorreu naquele commit.

REGRAS DE COMMIT

  • feat: (novo recurso para o usuário)
feat(banana): funcao-descasca-fruta.js

funcao de descascar uma banana
Enter fullscreen mode Exit fullscreen mode
  • build: (adicao de dependencias)
build(package): adicionando moment
Enter fullscreen mode Exit fullscreen mode
  • perf: (alteração de código que melhora o desempenho)
perf(javascript): index.html

mimificando js para desempenho
Enter fullscreen mode Exit fullscreen mode
  • fix: (correção de bug para o usuário)
fix(banana): carrinho-frutas.js

implementei um método para adicionar a fruta banana no carrinho
Enter fullscreen mode Exit fullscreen mode
  • docs: (mudanças na documentação)
docs(readme): documentei a arquitetura do componente banana
Enter fullscreen mode Exit fullscreen mode
  • style: (formatação, falta de ponto e vírgula, etc)
style(banana): frutas.js

adicionei os pontos e virgulas
Enter fullscreen mode Exit fullscreen mode
  • refactor: (alteração sem perder a funcionalidade)
refactor(banana): frutas.js

alterei as condicionais if's para switch case
Enter fullscreen mode Exit fullscreen mode
  • test: (adicionar testes ausentes, refatorar testes)
test(banana): fruta-banana.spec.js

adicionando cobertura de teste na banana
Enter fullscreen mode Exit fullscreen mode
  • chore: (mudanças de configuração e bibliotecas que realmente não entram em produção)
chore(package): mudança de versão do eslint e jest
Enter fullscreen mode Exit fullscreen mode
  • env: (utilizado quando se modifica ou adiciona algum arquivo de CI/CD. Exemplo: modificar um comando do Dockerfile ou adicionar um step a um Jenkinsfile.)
env: banana-bucket.yml

adicionando mais uma etapa na pipeline
Enter fullscreen mode Exit fullscreen mode

Seguindo a documentação conventionalcommits você pode encontrar mais sobre o assunto.

Top comments (1)

Collapse
 
allbertuu profile image
Alberto Albuquerque

Excelente! Dicas simples e poderosas.