git notes
Hängt Notizen an Commits, ohne sie zu ändern
Der Befehl 'git notes' hängt zusätzlichen Text an einen Commit — ein Review, ein Testergebnis, ein Deploy-Datum —, ohne den Commit selbst anzufassen; sein Hash bleibt also gleich. Notes werden separat gespeichert (in refs/notes/commits), und git log zeigt sie unter der Commit-Nachricht. Standardmäßig werden sie weder gepusht noch geholt.
Syntax
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>...]Optionen
Die richtige Option wählen
Einem Commit Informationen hinzufügen
Notiz oder amend?
| Befehl | Ändert sich der Hash? | Sicher nach dem Push? |
|---|---|---|
git commit --amend | Ja | No |
git notes add | No | Ja |
Beispiele
Eine Notiz hinzufügen
git notes add -m "Reviewed by Sam"Eine Notiz an HEAD hängen.
Einen älteren Commit annotieren
git notes add -m "Deployed" a1b2c3dJeder Commit kann eine Notiz bekommen.
Notizen teilen
git push origin refs/notes/commitsNotizen werden nur gepusht, wenn du es verlangst.
Workflow-Beispiele
git notes add -m "Reviewed by Sam" a1b2c3dDie Notiz anhängen
git push origin refs/notes/commitsMit dem Team teilen
Fehlerbehebung
error: Cannot add notes. Found existing notes
Ursache: Der Commit hat schon eine Notiz
Nutze git notes append, oder add -f, um sie zu ersetzen
Mein Team sieht meine Notizen nicht
Ursache: Notizen werden standardmäßig nicht gepusht
git push origin refs/notes/*, und hole sie mit git fetch origin refs/notes/*:refs/notes/*
Tipps & Stolperfallen
Best Practices
- ✓Nutze Notes für Informationen, die nach dem Commit kommen (Reviews, CI-Ergebnisse).
Häufige Fehler
- ✗Einen gepushten Commit amenden, nur um Informationen zu ergänzen — eine Notiz behält den Hash.
- ✗Erwarten, dass Notizen mit git push mitgehen — pushe refs/notes/* ausdrücklich.
FAQ
Nein. Sie liegen daneben; der Commit und sein Hash bleiben identisch.