https://git-scm.com/book/en/v2/Git-Basics-Viewing-the-Commit-History
Anonymous
Separate policy from mechanism, separate interfaces from engines.