github merge conflicts explained