https://medium.com/@ind/getting-started-with-git-understanding-the-basics-of-version-control-423d523fbac6