Michael Schwern's Excellent Explanation of Git - with toys. https://www.youtube.com/watch?v=5Q7omG_9RkI