O Convetional Commits é uma convenção simples de mensagens de commit que segue um conjunto de regras e ajuda os projetos a terem um histórico de commit explícito e bem estruturado
Utilizar estes commits facilita o entendimento de onde está se concentrando as horas do projeto e a entrada de novos Devs no projeto. Adotando essa convenção, apesar de gastar um pouco mais tempo no código, ajuda a deixar tudo mais organizado e facil de ser entendido.
O commit semântico utiliza algumas regras estruturais (listadas abaixo) para facilitar os utilizadores do seu código identificarem as alterações feitas nele.
-
test
- Commits do tipo test indicam qualquer tipo de criação ou alteração de códigos de teste -
feat
- Commits do tipo feat indicam o desenvolvimento de uma nova feature ao projeto. -
refactor
- Commits do tipo refactor são utilizados quando ocorre uma refatoração de código que não tenha impacto na lógica/regras de negócio do sistema. -
style
- Commits do tipo style são utilizados quando há mudanças de formatação e estilo do código que não alteram o sistema de forma nenhuma. -
fix
- Commits do tipo fix são utilizados quando há correção de erros que estão gerando bugs no sistema. -
chore
- Commits do tipo chore indicam mudanças no projeto que não afetam o sistema ou arquivos de testes. São mudanças de desenvolvimento. -
docs
- Commits do tipo docs são utilizados quando ocorrem mudanças na documentação da API, mudanças no README, etc. -
build
- Commits do tipo build indicam mudanças que afetam o processo de build do projeto ou dependências externas. -
perf
- Commits do tipo perf indicam uma alteração que melhorou a performance do sistema. -
ci
- Commits do tipo ci é utilizado para mudanças nos arquivos de configuração de CI. -
revert
- Commits do tipo revert indicam uma reversão do commit anterior.
Exemplo de uso dos tipos de commit:
git commit -m "style: Adiciona formatação do index"
- Utilize o modo imperativo na mensagem do commit, como "Adiciona feature" ao invés de "Adicionando feature" ou "Adicionada feature";
- Na primeira linha do seu commit tente usar no máximo 4 palavras;
- Descreva com mais detalhes as alterações feitas no código utilizando o corpo do commit;
- Utilize um emoji no início do commit para ajudar a identifica-lo;
- Faça commits apenas quando as mudanças forem relevantes. Isto é, não faça um commit toda vez que mudar uma linha no código a menos que seja algo muito especifico e significativo por si só. O melhor é, se ainda estiver desenvolvendo, espere até que tenha um conjunto importante de alterações para fazer um commit;
git commit -m "Descrição (obrigatório)
> [Linha em branco]
> Corpo do Commit (opcional)
> [Linha em branco]
> Footer do commit (opcional)"
Uma outra forma de identificar seus commits é por meio de emojis. Apesar de não serem uma forma oficial de padronizar seus commits, emojis podem ser muito uteis para indicar de uma forma rápida e bonita as alterações feitas em seu projeto.
Abaixo segue uma lista com emojis e pra que situações eles podem ser utilizados.
Tipo de commit | Emojis |
---|---|
Commit inicial | 🎉 :tada: |
Atualização de Segurança | 🔒 :lock: |
Nova feature | 🚀 :rocket: |
Mudanças na formatação/estilo | 🎨 :art: |
Correção de bugs | 🐛 :bug: |
Documentação | 📝 :pencil: |
Testes | 🧪 :test_tube: |
Melhorias de Performance | 🎚️ :level_slider: |
Acessibilidade | ♿ :wheelchair: |
Apagando arquivos | 🗑️ :wastebasket: |
Em desenvolvimento | 🚧 :construction: |
Arquivos de configuração | 🧰 :toolbox: |
Alterações de revisão de código | 👌 :ok_hand: |
Nova versão | 🎁 :gift: |
Arquivos de pacote | 📦 :package: |
Mover/Renomear | 🚚 :truck: |
git commit -m ":rocket: Adiciona as classes de acesso ao banco de dados
>
>Adiciona o arquivo Connection.php com a classe para acesso
>ao banco de dados MySQL
>
>Correção do Issue #12"
git commit -m ":rocket: Adiciona as classes de acesso ao banco de dados" -m "Adiciona o arquivo Connection.php com a classe para acesso
ao banco de dados MySQL" -m "Correção do Issue #12"
Inspirado no repositório padroes-de-commit de iuricode
Clique aqui para acessá-lo.