Mensagem de Commit
Passos
- Execute
git diff --staged para ver o que será commitado. Se nada estiver preparado, diga e pergunte se deve preparar tudo (git add -A) ou arquivos específicos. Nunca commite trabalho não preparado sem perguntar.
- Execute
git log --oneline -15 e combine com o estilo que você vê: Commits Convencionais (feat(api): …), um prefixo de ticket (ABC-123 …) ou frases simples. Se não houver uma convenção clara, use frases imperativas simples.
- Se as alterações preparadas fizerem várias coisas não relacionadas, sugira dividi-las em commits separados antes de escrever uma mensagem para tudo.
Formato
<linha de resumo, modo imperativo, máximo ~72 caracteres, sem ponto final>
<corpo: por que a mudança foi feita e qualquer coisa que um revisor não possa ver no diff.
Quebre em 72 caracteres. Pule o corpo para alterações triviais.>
<trailers: Fixes #123, Co-authored-by: …, BREAKING CHANGE: …>
- Modo imperativo: "Adicionar retry ao upload", não "Adicionado" ou "Adiciona".
- O resumo diz o que mudou para o usuário ou para o código, não quais arquivos foram tocados.
- O corpo explica por que: o bug, a restrição, a alternativa que você rejeitou. O diff já mostra o que.
- Com Commits Convencionais, escolha o tipo honestamente:
feat (novo comportamento), fix (bug), refactor (sem mudança de comportamento), perf, docs, test, build, ci, chore. Marque mudanças de quebra com ! e um trailer BREAKING CHANGE:.
Exemplos
fix(auth): renovar o token antes que expire, não depois
Requisições feitas nos últimos 30 segundos de vida de um token falhavam com 401
porque a renovação só acontecia na primeira falha. Renovar quando menos de
60 segundos restam em vez disso.
Fixes #482
Remover endpoint de exportação CSV não utilizado