git notes

Inspeção e comparação

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>...]
[ ] opcional| ou<arg> valor a substituir... repetível--flag opção

Opções

Clique em uma opção para expandir

Iniciante (4)

Acrescenta texto à nota existente (ou cria uma).

RecomendadoAcrescentar informação sem perder a nota existente

Exemplo

git notes append -m "Tests pass"

Imprime a nota de um commit (HEAD por padrão).

RecomendadoLer a nota de um commit

Exemplo

git notes show HEAD~1

Lista cada nota: o id da nota e o commit a que pertence.

Quando necessárioAchar cada commit que tem uma nota

Exemplo

git notes list

Apaga a nota de um commit.

Quando necessárioRemover uma nota desatualizada

Exemplo

git notes remove

Escolhendo a opção certa

Acrescentar informação a um commit

Nota ou amend?

ComandoO hash muda?Seguro após o push?
git commit --amendSimNo
git notes addNoSim

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" a1b2c3d

Qualquer commit pode ter uma nota.


Compartilhar notas

git push origin refs/notes/commits

As notas só são enviadas quando você pede.

Exemplos de fluxos de trabalho

1
git notes add -m "Reviewed by Sam" a1b2c3d

Anexar a nota

2
git push origin refs/notes/commits

Compartilhá-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

A:

Não. Ficam guardadas ao lado; o commit e o hash continuam idênticos.