Иногда самый простой способ решить эту проблему - это создать новую ветку из того места, где вы знаете, что код хорош.Затем вы можете оставить историю ошибочных веток в одиночку на тот случай, если вам понадобится выбрать другие коммиты позже.Это также гарантирует, что вы не потеряли ни одной истории коммитов.
Из вашей локальной ошибочной ветки:
git log
скопируйте хеш коммита, в котором вы хотели разместить ветку, и выйдите из журнала git
git checkout theHashYouJustCopied
git checkout -b your_new_awesome_branch
Теперь у вас есть новая ветка именно так, как вы хотите.
Если вам также нужно было сохранить определенный коммит из ошибочной ветки, которой нет в вашей новой ветке, вы можетепросто выберите тот конкретный коммит, который вам нужен:
git checkout the_errant_branch
git log
Скопируйте хэш коммита одного коммита, который вам нужно вставить в хорошую ветку, и выйдите из журнала git.
git checkout your_new_awesome_branch
git cherry-pick theHashYouJustCopied
Погладить себя по спине.