git notes

Untersuchen & Vergleichen

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>...]
[ ] optional| oder<arg> Platzhalter... wiederholbar--flag Option

Optionen

Klicke auf eine Option, um sie aufzuklappen

Einsteiger (4)

Fügt der vorhandenen Notiz Text hinzu (oder legt eine an).

EmpfohlenInfos hinzufügen, ohne die vorhandene Notiz zu verlieren

Beispiel

git notes append -m "Tests pass"

Gibt die Notiz eines Commits aus (standardmäßig HEAD).

EmpfohlenDie Notiz eines Commits lesen

Beispiel

git notes show HEAD~1

Listet jede Notiz: die ID der Notiz und den Commit, zu dem sie gehört.

Bei BedarfJeden Commit mit einer Notiz finden

Beispiel

git notes list

Löscht die Notiz eines Commits.

Bei BedarfEine veraltete Notiz entfernen

Beispiel

git notes remove

Die richtige Option wählen

Einem Commit Informationen hinzufügen

Notiz oder amend?

BefehlÄndert sich der Hash?Sicher nach dem Push?
git commit --amendJaNo
git notes addNoJa

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

Jeder Commit kann eine Notiz bekommen.


Notizen teilen

git push origin refs/notes/commits

Notizen werden nur gepusht, wenn du es verlangst.

Workflow-Beispiele

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

Die Notiz anhängen

2
git push origin refs/notes/commits

Mit 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

A:

Nein. Sie liegen daneben; der Commit und sein Hash bleiben identisch.