Sinossi
git notes add [-m <msg>] [<commit>]
git notes show [<commit>]
git notes append [-m <msg>] [<commit>]
git notes remove [<commit>]
Descrizione
Il comando git notes attacca metadati aggiuntivi ai commit senza riscriverli. Le note sono memorizzate nel proprio namespace di ref (refs/notes/commits per default) e sono visualizzate accanto ai commit in git log. Casi d'uso includono commenti di code review, stato build, link a ticket o sign-off aggiunti dopo il fatto.
Le note non vengono pushate per default — devi esplicitamente git push origin refs/notes/*. Team diversi usano namespace diversi; i sistemi CI spesso scrivono a refs/notes/ci mentre i revisori usano refs/notes/review.
Nell'uso quotidiano, git notes si integra con alias e CI.
Capire il modello dati di Git aiuta a prevedere i risultati.
Opzioni comuni
| Sottocomando | Descrizione |
|---|---|
add | Attacca una nuova nota a un commit. |
append | Aggiunge a una nota esistente. |
edit | Apre un editor sulla nota. |
show | Stampa la nota. |
remove | Cancella la nota. |
list | Elenca commit che hanno note. |
--ref <ref> | Usa un namespace di note diverso. |
Esempi
git notes add -m "Reviewed by Alice" abc123
# Attacca una nota di review
git log --show-notes
# Mostra le note in linea con il log
git notes --ref=ci add -m "Build #42 passed" HEAD
# Usa un namespace personalizzato
git push origin 'refs/notes/*'
# Pubblica le note al remote
Errori comuni
Dimenticare di pushare e fetchare il ref delle note rende le note invisibili ai collaboratori. Configura notes.displayRef = refs/notes/* così tutti i namespace appaiono in git log. Le note non sopravvivono alle riscritture della storia a meno che non vengano migrate esplicitamente.
Comandi correlati
git log, git commit, git push, git fetch