Annotated commits are commits with additional metadata about how the commit was resolved, which can be used for maintaining the user's "intent" through commands like merge and rebase.
For example, if a user wants to conceptually "merge HEAD
", then the
commit portion of an annotated commit will point to the HEAD
commit,
but the annotation will denote the ref HEAD
. This allows git to
perform the internal bookkeeping so that the system knows both the
content of what is being merged but also how the content was looked up
so that it can be recorded in the reflog appropriately.