15 Punkte von xguru 2022-11-30 | 1 Kommentare | Auf WhatsApp teilen
  • Eine Funktion zum Hinzufügen von Notizen, ohne die in git gespeicherten Objekte zu verändern
  • Wird meist verwendet, um Commits mit separaten Metadaten zu versehen
    • Denn sie können auch nach dem Commit später noch hinzugefügt/geändert/gelöscht werden
    • Standardmäßig werden sie separat unter refs/notes/commits gespeichert
  • In git log werden sie zusammen unter dem Eintrag Notes: angezeigt
  • Praktische Anwendungsfälle
    • Im „git-Projekt“ werden sie verwendet, um Commits mit zugehörigen Mailinglisten-Threads zu verknüpfen
    • Zeit-Tracking für Commits/Branches
    • Informationen zu Code-Review und Testing festhalten
  • Mit dem reviewnotes-Plugin für Gerrit lassen sich Code-Reviews als git notes speichern
  • Ein Entwickler bei Google hat mit git-appraise sogar ein vollständiges Code-Review-System auf Basis von git notes gebaut
    • Er nannte es „vollständig verteiltes Code-Review“
    • „Review anfordern/kommentieren/reviewen und mergen“ ist auf dem lokalen Rechner möglich
    • Es verfügt auch über ein Web-Interface
  • Trotzdem nutzt praktisch niemand git notes
    • Derzeit sind git notes schwer zu verwenden
    • GitHub zeigt Notes seit 2014 nicht mehr an
    • Für Commits lassen sich Notes per gitconfig etwas einfacher anzeigen und hinzufügen, für blob/tree ist das jedoch nicht einfach

Forge-Unabhängigkeit

  • git ist ein verteiltes Code-Review-System. Aber viel vom Wert eines git-Repos ist in Tresoren wie GitHub eingeschlossen
  • git notes ist ein Weg zu einer Alternative
  • git verteilt die Historie von Code-Schnipseln. git notes könnte es ermöglichen, die Historie des gesamten Projekts zu verteilen

1 Kommentare

 
spilist2 2022-11-30

Ich kannte git note bisher noch nicht. Danke fürs Teilen.