DEV Community

Cover image for Template para mensagens de commit
Daniel Wildt
Daniel Wildt

Posted on

Template para mensagens de commit

Tenho buscado algum tipo de padrão em projetos que tenho criado, mas ao mesmo tempo passo por situações onde estou brincando em projetos diferentes e por vezes testando abordagens diferentes. E não lembro do padrão de mensagem a ser usado.

Em parte estou sempre buscando usar os "conventional commits" mas pensando em diferentes opções. Ter continuidade é um grande problema.

Uma coisa que estou adicionando nos meus repositórios é um template de mensagem de commit.

Exemplo, tenho o arquivo ".gitmessage" no meu repositório, com um conteúdo tipo esse:

# <tipo>: <descrição curta em português>
# |<----  Máximo 72 caracteres  ---->|

# Corpo da mensagem (opcional)
# |<----   Quebre em 72 caracteres   ---->|

# Rodapé (opcional)
# Ex: Relacionado a #123
# Ex: BREAKING CHANGE: descrição da mudança incompatível


# --- TIPOS DE COMMIT ---
# feat:     Nova funcionalidade
# fix:      Correção de bug
# docs:     Documentação
# test:     Adicionar ou modificar testes
# ci:       Integração contínua
# ui:       Interface do usuário
# perf:     Melhoria de performance
#
# --- REGRAS ---
# ✅ Usar verbo no infinitivo (adicionar, corrigir, atualizar)
# ✅ Primeira linha com até 72 caracteres
# ✅ Ser claro e descritivo
#
# ❌ NÃO usar verbos conjugados (adicionado, corrigido)
# ❌ NÃO terminar com ponto final
# ❌ NÃO ser vago ("fix: ajustes")
#
# --- EXEMPLOS ---
# feat: adicionar cálculo de juros compostos
# fix: corrigir validação de campos numéricos
# docs: atualizar README com instruções de instalação

# --- BREAKING CHANGES ---
# Para mudanças incompatíveis, use ! após o tipo:
# feat!: alterar estrutura de retorno da API
#
# E adicione no rodapé:
# BREAKING CHANGE: descrição detalhada da mudança incompatível
Enter fullscreen mode Exit fullscreen mode

Aí faço a configuração para que na mensagem de commit este template seja usado:
git config commit.template .gitmessage

Isso para fazer com que esta mensagem padrão (.gitmessage) seja usada neste repositório em questão.

E aí meu fluxo de trabalho fica assim:

  1. Adiciono os arquivos que vão fazer parte do commit usando git add <arquivo>
  2. Na a hora de adicionar a mensagem, eu simplesmente chamo um "git commit" e vai ser aberto um vim para eu poder editar a mensagem, já tendo a mensagem template para mim.
  3. Faço o push, agora garantindo que a mensagem de commit está de acordo.

-- Daniel Wildt

Top comments (0)