Skip to content

Este repositório fornece uma visão abrangente dos commits semânticos, incluindo exemplos e ferramentas para ajudar a implementá-los em seus projetos. Aproveite para contribuir e adotar essa prática para melhorar a qualidade do seu código.

Notifications You must be signed in to change notification settings

Joaommsp/commits-semanticos

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 

Repository files navigation

Commits semanticos by João

github logo markdown logo

cover

Commits semânticos são uma prática recomendada para manter um histórico de commits claro e informativo. Eles seguem uma convenção específica que descreve o tipo de mudança feita, o escopo (opcional) e uma descrição breve e concisa..

➡️ Conventional Commits


<tipo>(<escopo opcional>): <descrição>
<mensagem detalhada opcional>
<informações adicionais, como referências a issues ou PRs>

➡️ Tipos de Commits

  • feat: Introdução de uma nova funcionalidade.
  • fix: Correção de um bug.
  • docs: Alterações na documentação.
  • style: Mudanças que não afetam a lógica do código (espaços em branco, formatação, ponto e vírgula ausente, etc.).
  • refactor: Mudanças no código que não corrigem bugs nem adicionam funcionalidades.
  • perf: Mudanças que melhoram a performance.
  • test: Adição ou correção de testes.
  • build: Mudanças que afetam o sistema de build ou dependências externas (scopes de exemplos: gulp, broccoli, npm).
  • ci: Mudanças em arquivos e scripts de configuração de CI (exemplos de scopes: Travis, Circle, BrowserStack, SauceLabs).
  • chore: Outras mudanças que não modificam src ou arquivos de teste.
  • revert: Reverte um commit anterior.

➡️ Exemplos

Feat: Adicionando nova funcionalidade

git commit -m "feat(auth): adicionar funcionalidade de recuperação de senha"

Fix: Corrigindo um bug

git commit -m "fix(api): corrigir erro de validação no endpoint de login"

Docs: Atualizando a documentação

git commit -m "docs(README): adicionar instruções de configuração do projeto"

Style: Ajustando formatação de código

git commit -m "style: corrigir formatação do código no arquivo main.js"

👀 Observe

Os commits semânticos geralmente são escritos no infinitivo por várias razões:

  • Clareza e Consistência

    Escrever commits no infinitivo ajuda a manter a clareza e a consistência no histórico de commits. Isso torna mais fácil para qualquer pessoa entender a intenção do commit.

  • Ação Descritiva

    O infinitivo descreve a ação de maneira direta e clara, o que ajuda a entender exatamente o que o commit faz. Por exemplo, "adicionar funcionalidade de login" é mais claro do que "adiciona funcionalidade de login".

  • Melhor Legibilidade

    Mensagens de commit no infinitivo são frequentemente mais legíveis e padronizadas, o que facilita a leitura rápida do histórico de commits.

  • Padrão de Indústria

    Seguir convenções como o Conventional Commits e outros padrões da indústria que recomendam o uso do infinitivo ajuda a alinhar-se com práticas comuns adotadas por muitas equipes e projetos.

❌ Exemplos de Mau Uso

  • update files (muito vago)
  • fix (não especifica o que foi corrigido)
  • changes made (não informa quais mudanças foram feitas)
  • . (não fornece nenhuma informação útil)

📝 Mensagem Detalhada e Informações Adicionais

Para commits mais complexos, você pode adicionar uma mensagem detalhada e informações adicionais, como referência a issues ou pull requests:

git commit -m "feat(auth): adicionar funcionalidade de recuperação de senha

Adiciona a capacidade de os usuários solicitarem a recuperação de senha
através de um email de recuperação. Inclui validação no backend e envio
de emails.

🛠️ Ferramentas

Existem várias ferramentas que podem ajudar a seguir a convenção de commits semânticos

Commitizen

..commitizen

Clique na imagem para acessar o repositório

npm install -g commitizen
git cz

Husky

..husky

Clique na imagem para acessar o repositório

Configurar no package.json:

"husky": {
  "hooks": {
    "commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
  }
}

🤓 Me acompanhe para mais

...

"Não quero perder a pequena família que me resta. Eu vou vencer, não importa o que aconteça! Eu vou sobreviver, não importa o que aconteça. Só aos vitoriosos é permitido viver" Mikasa Ackerman

About

Este repositório fornece uma visão abrangente dos commits semânticos, incluindo exemplos e ferramentas para ajudar a implementá-los em seus projetos. Aproveite para contribuir e adotar essa prática para melhorar a qualidade do seu código.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published