Вы можете найти этот ответ полезным, который объясняет, что новые коммиты должны быть добавлены, чтобы отменить предыдущие коммиты, чтобы сохранить историю ветви.
Один из способов сделать это - вызвать$ git revert --no-commit commitHash
на 3 коммитах, которые нужно отменить, и затем вызовите $ git commit -m "the commit message"
.
Альтернативное решение состоит в извлечении содержимого последнего коммита (давайте назовем его A), который вы не хотите возвращать,и затем передайте это состояние, которое можно сделать с помощью $ git checkout -f A --
, за которым следует $ git commit -a