📄
COMMITS SEMÂNTICOS
Apresentação PDF
De acordo com a documentação do Convetional Commits, Commits Semânticos são uma convenção simples para ser utilizada nas mensagens de commit. Essa convenção define um conjunto de regras para criar um histórico de commit explícito, o que facilita a criação de ferramentas automatizadas.
Esses commits auxiliarão você e sua equipe a entenderem de forma facilitada quais alterações foram realizadas no trecho de código que foi commitado.
Essa identificação ocorre por meio de uma palavra e emoji que identifica se aquele commit realizado se trata de uma alteração de código, atualização de pacotes, documentação, alteração de visual, teste...
O commit semântico possui os elementos estruturais abaixo (tipos), que informam a intenção do seu commit ao utilizador(a) de seu código.
-
fix
- Commits do tipo fix Essencialmente definem o tratamento de correções de bugs; -
feat
- Commits do tipo feat Tratam adições de novas funcionalidades ou dequaisquer outras novas implantações ao código; -
docs
- Commits do tipo docs indicam que houveram mudanças na documentação, como por exemplo no Readme do seu repositório. (Não inclui alterações em código); -
style
- Commits do tipo style indicam que houveram alterações referentes a formatações de código, semicolons, trailing spaces, lint... (Não inclui alterações em código); -
refactor
- Commits do tipo refactor Tipo utilizado em quaisquer mudanças que sejam executados no código, porém não alterem a funcionalidade final da tarefa impactada; -
build
- Commits do tipo build Alterações que afetam o sistema de construção ou dependências externas (escopos de exemplo: gulp, broccoli, npm); -
test
- Commits do tipo test Adicionando testes ausentes ou corrigindo testes existentes nos processos de testes automatizados (TDD); -
env
- Commits do tipo 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. -
chore
- Commits do tipo chore indicam atualizações de tarefas de build, configurações de administrador, pacotes... como por exemplo adicionar um pacote no gitignore. (Não inclui alterações em código)
Commit semântico | Commit comum |
---|---|
feat(login/routes): novas configurações de rota para o login | melhorando as configurações de login |
fix(AuthService): ajustando a url de autenticação | correção url de autenticação |
refactor: padronizando logs em todo o serviços | ajustando o log de serviços |
style: indentação e padronização no código usando o lint:fix | padronização de código |
build: adicionando variável para rebuild automáticos nos containers docker | ajustes no containers docker |
git commit -am "feat(routes/settings): adjust settings to be called in any screen"
git commit -am "feat: ajuste as configurações de rotas a serem chamadas em qualquer tela"
Tipo de commit | Emojis |
---|---|
Commit inicial | 🎉 :tada: |
Tag de versão | 🔖 :bookmark: |
Novo recurso | ✨ :sparkles: |
Bugfix | 🐛 :bug: |
Documentação | 📚 :books: |
Testes | 🚨 :rotating_light: |
Adicionando um teste | ✅ :white_check_mark: |
Teste de aprovação | ✔️ :heavy_check_mark: |
Acessibilidade | ♿ :wheelchair: |
Texto | 📝 :pencil: |
Package.json em JS | 📦 :package: |
Em progresso | 🚧 :construction: |
Arquivos de configuração | 🔧 :wrench: |
Removendo uma dependência | ➖ :heavy_minus_sign: |
Adicionando uma dependência | ➕ :heavy_plus_sign: |
Revertendo mudanças | 💥 :boom: |
Alterações de revisão de código | 👌 :ok_hand: |
Mover/Renomear | 🚚 :truck: |