/ideias-de-commit

🖥️ Padrões de commit inspirado no repositório de iuricode

📄
Padronizando commits

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.

👾 Convetional Commits

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"

⭐️ Recomendações

  • 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;

☄️ Estrutura de um commit

git commit -m "Descrição (obrigatório)
> [Linha em branco]
> Corpo do Commit (opcional)
> [Linha em branco]
> Footer do commit (opcional)"

🔮 Personalizando commits com emojis

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.

💈 Padrões de emojis

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:

💻 Exemplo do uso de emoji em um commit

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"

💡 Como colocar descrição do commit no terminal

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.