3.7 KiB
3.7 KiB
🎯 Padrões Git - PraFrota Angular
✅ Configuração Implementada
Este projeto agora possui padrões Git automatizados baseados no Conventional Commits.
🔧 Componentes Instalados:
-
✅ Hook de Validação (
.git/hooks/commit-msg)- Valida formato de commits automaticamente
- Impede commits mal formatados
-
✅ Aliases Git Úteis
git cm "mensagem"→ commit com mensagemgit st→ statusgit lg→ log gráficogit ca→ commit --amend- E mais...
-
✅ Script Assistido (
scripts/git-commit.js)- Commit interativo com menu
- Uso:
node scripts/git-commit.js
📋 Formato de Commit Obrigatório
tipo(escopo): descrição
🏷️ Tipos Permitidos:
feat: nova funcionalidadefix: correção de bugdocs: documentaçãostyle: formatação/estilorefactor: refatoração de códigotest: testeschore: tarefas de manutençãoperf: melhorias de performanceci: integração contínuabuild: sistema de buildrevert: reverter commit
📏 Regras:
- ✅ Primeira linha: máximo 72 caracteres
- ✅ Descrição: começar com letra minúscula
- ✅ Não terminar com ponto final
- ✅ Usar imperativo (adiciona, não adicionado)
✅ Exemplos Válidos:
# Funcionalidades
git commit -m "feat: adiciona autenticação JWT"
git commit -m "feat(auth): implementa login com Google"
# Correções
git commit -m "fix: corrige validação de email"
git commit -m "fix(api): resolve erro de timeout"
# Documentação
git commit -m "docs: atualiza README com instruções"
# Refatoração
git commit -m "refactor: simplifica lógica de validação"
# Outros
git commit -m "style: formata código com prettier"
git commit -m "chore: atualiza dependências"
git commit -m "perf: otimiza consultas do banco"
🚫 Exemplos Inválidos:
# ❌ Tipo inválido
git commit -m "update: adiciona nova feature"
# ❌ Descrição com maiúscula
git commit -m "feat: Adiciona autenticação JWT"
# ❌ Termina com ponto
git commit -m "feat: adiciona autenticação JWT."
# ❌ Muito longo
git commit -m "feat: adiciona sistema completo de autenticação com JWT, OAuth2, refresh tokens e validação"
🎯 Aliases Disponíveis:
git cm "mensagem" # commit -m
git st # status
git br # branch
git co branch-name # checkout
git lg # log --oneline --graph --decorate
git ca # commit --amend
git unstage arquivo # reset HEAD --
git last # log -1 HEAD
🚀 Como Usar:
Método 1: Commit Normal
git add .
git cm "feat: adiciona dashboard de analytics"
Método 2: Commit Assistido
git add .
node scripts/git-commit.js
# Seguir o menu interativo
Método 3: Aliases
git add .
git st # Ver status
git cm "fix: corrige bug no login"
git lg # Ver histórico
🔍 Verificação:
O hook valida automaticamente TODOS os commits. Se inválido:
🔍 Validando mensagem de commit...
❌ Formato de commit inválido!
# ... mensagem de ajuda ...
Se válido:
🔍 Validando mensagem de commit...
✅ Mensagem de commit válida!
🎉 Benefícios:
- ✅ Histórico Limpo: Commits padronizados e legíveis
- ✅ Automação: Validação automática impede erros
- ✅ Produtividade: Aliases aceleram workflow
- ✅ Conventional Commits: Compatível com ferramentas de versionamento
- ✅ Changelog Automático: Facilita geração de releases
- ✅ Semver: Suporte a versionamento semântico
🎯 Configuração implementada com base no guia .cursor/GIT_STANDARDS_SETUP.md