Commits são utilizados para salvar alterações completas no repositório. O Conventional Commits é uma convenção de mensagens que segue um conjunto de regras para auxiliar os projetos a terem um histórico de commits organizados e bem estruturados. Os commits realizados compõem a linha do tempo documentada da implementação de um projeto, sendo capaz de identificar quem, quando, o contexto e o tipo de cada alteração realizada.
:emoji: <tipo>(escopo opcional): <descrição>
[comentário opcional]
[rodapé opcional]
O emoji é opcional utilizado para agregar identidade visual ao commit. O tipo e o escopo são utilizados para contextualizar e a descrição para detalhar o commit.
-
init
- O commit initial é o primeiro commit salvo no repositório, contém informações de README e Licenças... (Não inclui alterações em código) -
feat
- O commit adiciona um novo recurso. -
test
- O commit altera testes (Seja criando, alterando ou excluindo. Não inclui alterações em código). -
fix
- O commit corrige um problema. -
docs
- O commit altera a documentação (Ex.:Readme do repositório. Não inclui alterações em código ). -
refactor
- O commit identifica alterações referente a refatorações que não alterem sua funcionalidade (code review). -
style
- O commit altera formatações de código (semicolons, trailing spaces, lint... Não inclui alterações em código). -
build
- O commit modifica arquivos de build e dependências. -
perf
- O commit identifica quaisquer alterações de código que estejam relacionadas a performance. -
chore
- O commit atualiza tarefas de build, configurações de administrador, pacotes, entre outros (Ex.: adicionar um pacote no gitignore. Não inclui alterações em código). -
raw
- O commit identifica alterações relacionadas a arquivos de configurações, dados, features, parametros. -
ci
- O commit identifica alterações relacionadas a integração contínua. -
revert
- O commit reverte um commit realizado anteriormente. Deve conter o ID do commit revertido e a descrição da reversão.
Contextualiza o commit, podendo informar branches, arquivos ou funções.
Identifica as alterações, texto na segunda pessoa do presente (imperativo). Ex.: Adiciona (funcionalidade) / Remove (funcionalidade) / Corrige (funcionalidade) / etc.
Explica o que e por que das alterações, não como. Permitindo identificar a funcionalidade das alterações. Descreve brevemente o conteúdo do commit, podendo citar quais foram as alterações no código, seu objetivo, impactos e instruções.
Pode ser utilizado para assinatura referente a autoria, alertar e informar incompatibilidade com a versão anterior.
Tipo do commit | Emoji | Palavra-chave |
---|---|---|
Commit inicial | 🎉 :tada: |
init |
Novo recurso | ✨ :sparkles: |
feat |
Documentação | 📚 :books: |
docs |
Bugfix | 🐛 :bug: |
fix |
Em progresso | 🚧 :construction: |
|
Estilização de interface | 💄 :lipstick: |
feat |
Refatoração | ♻️ :recycle: |
refactor |
Testes | 🧪 :test_tube: |
test |
Mover/Renomear | 🚚 :truck: |
chore |
Comentários | 💡 :bulb: |
docs |
Configuração | 🔧 :wrench: |
chore |
Alterações de revisão de código | 👌 :ok_hand: |
style |
Tag de versão | 🔖 :bookmark: |
|
Performance | ⚡ :zap: |
perf |
Texto | 📝 :pencil: |
|
Dados | 🗃️ :card_file_box: |
raw |
Animações e transições | 💫 :dizzy: |
|
Deploy | 🚀 :rocket: |
|
Infraestrutura | 🧱 :bricks: |
ci |
Tratamento de erros | 🥅 :goal_net: |
|
Responsividade | 📱 :iphone: |
|
Segurança | 🔒️ :lock: |
|
SEO | 🔍️ :mag: |
|
Adicionando um teste | ✅ :white_check_mark: |
test |
Adicionando uma dependência | ➕ :heavy_plus_sign: |
build |
Removendo um arquivo | 🔥 :fire: |
|
Removendo uma dependência | ➖ :heavy_minus_sign: |
build |
Revertendo mudanças | 💥 :boom: |
fix |
Teste de aprovação | ✔️ :heavy_check_mark: |
test |
Mudanças no processo de CI | 💚 :green_heart: |
ci |
Alteração no ambiente Docker | 🐳 :whale: |
|
Reversão de um commit | ⏪ :rewind: |
revert |
Acessibilidade | ♿ :wheelchair: |
|
Tipagem | 🏷️ :label: |
|
Package.json em JS | 📦 :package: |
build |
Atualizando a versão de um submódulo | ⬆️ :arrow_up: |
|
Retrocedendo a versão de um submódulo | ⬇️ :arrow_down: |
|
Lista de ideias (tasks) | 🔜 :soon: |
Mais emojis.
Realizar o commit de uma funcionalidade por vez, independente do número de arquivos alterados. O programa deve permanecer totalmente funcional a cada commit, permitindo reverter alterações caso necessário com facilidade.