Итак, у меня есть ветвь с именем BRANCH_A
, а есть другая ветвь с именем BRANCH_B
, которую эти две ветки объединили для разработки ветки.Теперь что-то пошло не так в BRANCH_A
, по некоторым причинам это выглядит как регрессия, возможно, плохо слился, после этого слияния у меня было несколько незначительных коммитов также в BRANCH_A
, в любом случае мне нужно вернуть обратно BRANCH_A
к безопасному коммиту до того, как это слияниеполучилось.Я следую за другими подобными сообщениями о проблемах в стеке, и сделал это, как показано ниже:
сначала внутри BRANCH_A
Я создаю резервную ветвь:
git branch BACKUP_A
Затем сбросил со вчерашнего дня SHA, чтокоммит как раз перед тем, как произошло это объединение:
git reset --hard SHA
Затем укажите BRANCH_A
на резервную ветвь:
git reset --soft BACKUP_A
Затем зафиксируйте:
git commit -m "Revert to SHA id"
и нажмите:
git push
Это вернется к этому коммиту, но дело в том, что у меня все еще есть другие изменения ветки (для BRANCH_B) при этом слиянии, и это только возвращает те незначительные коммиты, которые я сделал после слияния.
Как я могу отменить таким образом, чтобы я получил рейд этих изменений из другой ветви (BRANCH_B) и сохранить только те изменения, которые я действительно сделал в BRANCH_A (коммит до слияния).