tl;dr:"A common use of git notes is tacking metadata onto commits. Once a commit cements itself in git’s history - that’s it. It’s impossible to amend a commit message buried deep in a repo’s log. But git notes enable you to amend new information about old commits in a special namespace. And they’re capable of so much more. Notes stow metadata about anything tracked by git - any object: commits, blobs, and trees. All without futzing with the object itself."