From https://www.reddit.com/r/git/comments/42k9f2/i_tried_to_explain_basic_git_concepts_to_those/czb14jo