git notes
Attacher des notes aux commits sans les modifier
La commande 'git notes' attache du texte à un commit — une revue, un résultat de test, une date de déploiement — sans toucher au commit lui-même, dont le hash reste identique. Les notes sont stockées à part (dans refs/notes/commits) et git log les affiche sous le message du commit. Elles ne sont ni poussées ni récupérées par défaut.
Synopsis
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>...]Options
Choisir la bonne option
Ajouter une information à un commit
Note ou amend ?
| Commande | Le hash change ? | Sûr après un push ? |
|---|---|---|
git commit --amend | Oui | No |
git notes add | No | Oui |
Exemples
Ajouter une note
git notes add -m "Reviewed by Sam"Attacher une note à HEAD.
Annoter un commit plus ancien
git notes add -m "Deployed" a1b2c3dN’importe quel commit peut recevoir une note.
Partager les notes
git push origin refs/notes/commitsLes notes ne sont poussées que si vous le demandez.
Exemples de workflows
git notes add -m "Reviewed by Sam" a1b2c3dAttacher la note
git push origin refs/notes/commitsLa partager avec l’équipe
Dépannage
error: Cannot add notes. Found existing notes
Cause : Le commit a déjà une note
Utilisez git notes append, ou add -f pour la remplacer
Mes collègues ne voient pas mes notes
Cause : Les notes ne sont pas poussées par défaut
git push origin refs/notes/*, et récupérez-les avec git fetch origin refs/notes/*:refs/notes/*
Astuces et pièges
Bonnes pratiques
- ✓Utilisez les notes pour les informations qui viennent après le commit (revues, résultats de CI).
Erreurs fréquentes
- ✗Amender un commit poussé juste pour ajouter une information — une note garde le hash.
- ✗S’attendre à ce que les notes partent avec git push — poussez refs/notes/* explicitement.
FAQ
Non. Elles sont stockées à côté ; le commit et son hash restent identiques.