https://medium.com/better-programming/the-git-commands-every-software-engineer-should-know-part-ii-875160a74e92