сначала создайте новую ветвь для коммита F (последний коммит на главном ветке):
git checkout -b dev master # or directly using the commit hash:
git checkout -b dev SHA1_OF_F # if master is currently checked out:
git checkout -b dev
, затем вернитесь назад к своей основной ветке (не разрушая ваше рабочее дерево)
git branch -f master SHA1_OF_A
проверьте мастер еще раз, если хотите продолжить работу с ним:
git checkout master
если вам не важно ваше рабочее дерево (оно чистое, то есть нет ни незафиксированных, ни неустановленных изменений, вы можете использовать git reset --hard
как подсказал @ manojlds в своем ответе .
это изменяет (т.е. сокращает) историю главной ветви, поэтому убедитесь, что вы понимаете последствия. Если ваши изменения уже были переданыдля публичного репо другие пользователи будут иметь коммиты разработки, уже содержащиеся в master
, и должны будут также сбросить свою ветку.