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