Do we think of Git commits as diffs, snapshots, and/or histories? | Hacker News Reader