Gerar notas de versão do Git

Cole mensagens de commit ou um diff unificado para criar o rascunho. Revise a sugestão de versão, calculada a partir das marcações dos commits.

Funciona localmente no seu navegador
Esta ferramenta processa todos os dados localmente no seu navegador.
Commits ou Git diffCole Conventional Commits, assuntos do git log ou texto de diff unificado.
Rascunho Markdown da versão
Execute a ferramenta para exibir aqui o resultado processado localmente.

Como redigir notas de versão a partir de commits ou de um diff

Cole assuntos Conventional Commits — pode copiá-los direto do git log --oneline — ou um diff unificado, e a página os transforma em um rascunho Markdown com as mudanças agrupadas e um nível major, minor ou patch sugerido.

Nada aqui toca um repositório: o texto colado é analisado dentro do navegador, o botão de exemplo preenche uma amostra e Copiar ou Baixar levam o rascunho como release-notes.md.

  1. Cole o texto em Commits ou Git diff: um assunto Conventional Commit por linha, uma lista de git log --oneline ou a saída de um diff unificado com cabeçalhos diff --git.
  2. Pressione Gerar notas de versão. Linhas que não são assuntos de commit nem conteúdo de diff — autores, datas, marcadores de hunk — são ignoradas.
  3. Leia o rascunho: os commits são agrupados em Recursos, Correções, Desempenho, Alterações, Documentação, Testes e Build e CI, e todo commit marcado com ! ou seguido de um rodapé BREAKING CHANGE fica sinalizado.
  4. Confira o nível sugerido: major quando há mudança incompatível marcada, minor quando existe algum feat e patch nos demais casos. O rascunho chama de sugestão porque o número final é decisão sua.
  5. Copiar ou Baixar recolhem o resultado; Limpar esvazia os dois painéis.

O que esta página lê e o que deixa com você

O que é reconhecido

Os assuntos de commit aceitam um prefixo hash curto ou longo opcional, então abc1234 feat: … e um hash completo de 40 caracteres são lidos como commits. O scope é preservado: feat(api): add filters cai em Recursos com o scope entre parênteses.

A lista de tipos é o conjunto Conventional Commits — feat, fix, docs, style, refactor, perf, test, build, ci, chore — mais revert. O diff exige cabeçalhos diff --git reais: a lista de arquivos e as contagens de linhas + / − vêm apenas das linhas após um cabeçalho, então um + solto no texto não conta como adição.

O nível da versão é uma sugestão

major = ao menos um marcador ! ou rodapé BREAKING CHANGE; minor = ao menos um feat; patch = todo o resto, incluindo docs, testes, style e chore. São regras mecânicas, então leia o rascunho antes de etiquetar uma versão.

A linha de sugestão é texto simples dentro do rascunho e nada é publicado em lugar nenhum: esta página só produz a saída.

O que esta página não faz

Ela não lê repositório Git, não executa git e não chama serviço de rede: só o texto colado é analisado.

Formatos fora desses dois são avisados em vez de adivinhados: caixa vazia responde com o aviso de colagem e um texto sem assuntos de commit nem conteúdo de diff recebe sua própria mensagem. Resumos de git diff --stat e diffs binários não viram estatísticas de linhas.

Ferramentas recentes: