Когда вы являетесь единственным разработчиком, вы можете использовать простой выход, который обычно не предлагается, то есть вы переустанавливаете локальную ветвь на любой коммит, который вам нужен, с помощью git reset --hard <commit-sha1>
, а затем вы делаете git push --force
, принудительно перезаписывая пульт.
Более чистым способом было бы просто отказаться от двух коммитов, A и B, вернув их обратно.git revert <A-sha1>
и git revert <B-sha1>
избавятся от изменений, внесенных этими двумя коммитами, оставив их в истории.Тогда вы сможете нажимать как обычно.
Если говорить конкретно о терминологии, в Git нет ничего, что называется откатом.Когда люди говорят об откате в контексте Git, они обычно имеют в виду либо возврат, либо сброс.Проще говоря, эти два отмены отменяют фиксацию, создавая новую фиксацию, которая отменяет изменения.А сброс делает точку ветвления для другого коммита в истории, что может привести к полной потере коммитов.