git notes
Anexa notas a commits sem alterá-los
O comando 'git notes' anexa texto extra a um commit — uma revisão, um resultado de teste, uma data de deploy — sem tocar no commit, então o hash continua igual. As notas ficam guardadas à parte (em refs/notes/commits) e o git log as mostra abaixo da mensagem do commit. Elas não são enviadas nem baixadas por padrão.
Sinopse
git notes [list [<object>]]
git notes add [-f] [-m <msg>] [<object>]
git notes append [-m <msg>] [<object>]
git notes show [<object>]
git notes remove [<object>...]Opções
Escolhendo a opção certa
Acrescentar informação a um commit
Nota ou amend?
| Comando | O hash muda? | Seguro após o push? |
|---|---|---|
git commit --amend | Sim | No |
git notes add | No | Sim |
Exemplos
Adicionar uma nota
git notes add -m "Reviewed by Sam"Anexar uma nota ao HEAD.
Anotar um commit mais antigo
git notes add -m "Deployed" a1b2c3dQualquer commit pode ter uma nota.
Compartilhar notas
git push origin refs/notes/commitsAs notas só são enviadas quando você pede.
Exemplos de fluxos de trabalho
git notes add -m "Reviewed by Sam" a1b2c3dAnexar a nota
git push origin refs/notes/commitsCompartilhá-la com o time
Solução de problemas
error: Cannot add notes. Found existing notes
Causa: O commit já tem uma nota
Use git notes append, ou add -f para substituí-la
Meus colegas não veem minhas notas
Causa: Notas não são enviadas por padrão
git push origin refs/notes/*, e traga-as com git fetch origin refs/notes/*:refs/notes/*
Dicas e armadilhas
Boas práticas
- ✓Use notas para informações que chegam depois do commit (revisões, resultados de CI).
Erros comuns
- ✗Fazer amend num commit enviado só para acrescentar informação — uma nota mantém o hash.
- ✗Esperar que as notas vão junto com o git push — envie refs/notes/* explicitamente.
Perguntas frequentes
Não. Ficam guardadas ao lado; o commit e o hash continuam idênticos.