https://blog.devgenius.io/beginners-guide-to-git-a-step-by-step-introduction-to-version-control-for-developers-5c317a1160ba