Как сделать rebase, если был pull?



@VicTHOR

Есть 2 ветки (условно feature и develop)
Ветка feature была начата с определенного коммита в develop.
Ветка develop обновлялась и был сделан git pull. Возникли конфликты, были решены конфилкты, а что-бы коммит не был простым «merge develop into fature» далее был сделан какой-то функционал и git commit —amend.

Сейчас возникла необходимость сделать git rebase, но на том коммите возникает ошибка

error: commit {хэш} is a merge but no -m option was given.

reabse интерактивный. Что написать в файле и сделать, что-бы этот коммит стал самостоятельным?

develop                feature

       * нужно сделать rebase сюда
       |
       *              *
       |              |
       |              * проблемный pick
       *          /   |
       "https://qna.habr.com/"
       |   /          *
       *              |
       |              *
       *           /
       "https://qna.habr.com/"   /
       *


Решения вопроса 1



@VicTHOR Автор вопроса

В todo файле у проблемного коммита можно прописать не pick <commit-hash>, а exec git cherry-pick -m 1 <commit-hash>.
Т.к. у меня были еще коммиты с merge и мне нужно было сделать fixup (добавить изменения к предыдущему коммиту без коммита), а fixup тоже ругался на то, что коммит является merge, я сделал новую ветку и через cherry-pick вручную все разрулил.
Спасибо WbICHA и Lynn «Кофеман» за наводку.

Комментировать

Ответы на вопрос 0

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *