https://leanpub.com/beginning-git-version-control