Git for Computer Scientists (2010)
I just think of git as a graph and branches/tags as text pointers to nodes in the graph. Doesn't seem that complex to me...<p>Maybe I "got gud" though and can no longer empathize with git beginners