Understanding GIT in 500 Lines Of Python Code