Recently I was rereading Joel Spolsky’s introduction to distributed version control, Hg Init. (To be precise, it’s an introduction to Mercurial, but it also functions fairly well as an introduction to git or to distributed version control in general.) Of course, Joel is writing about this partly because he built a product around it, so he has something to sell, but Hg Init isn’t commercial.
Anyway, Joel’s tutorial begins with some reeducation for people used to other forms of version control, notably Subversion (svn). To illustrate different ways of thinking, different ways of looking at the same problem, he uses the example of Japanese and American addresses. The same problem — uniquely identifying buildings — is solved in notably different ways in Japan and the US. In the west, we think in terms of streets; Japan thinks in terms of blocks. A different conceptual model.