git branch feature_branch B -- создать ветку на основе B
git checkout master
git reset --hard A -- сброс мастера на A
git push -f -- принудительное обновление удалённой ветки
git fetch --all -- получить свежие данные с сервера
git checkout master
git reset --hard origin/master -- сбросить локальную ветку на удалённую. Имя репозитория (origin) у клиента может быть другим