tl;dr:"In this tutorial I’ll try to describe how git works without using git itself. Instead, we’ll create a simple, git-like system using just zip, diff, patch and a few simple filesystem commands. The idea is to build a good mental model of how git works conceptually.