https://medium.com/@johngreenfield/git-101-everything-you-need-to-know-to-get-started-with-version-control-327e2a47af7b