How Git stores multiple versions of each modified file? | Hacker News Reader