Git: Как избежать конфликтов при слиянии ветви функции после предыдущего слияния

В нашем репозитории мы разрабатываем функции на основе ветвей функций. В последнее время я включил функцию feature/myfeature в master:

git merge --no-ff feature/myfeature

После этого слияния произошла дальнейшая разработка, пока не оказалось, что эта функция неисправна и заблокировала интеграцию, поэтому я решил отменить это слияние. Следуя /questions/34236312/otmenite-git-sliyanie-kotoroe-esche-ne-byilo-pereneseno/34236314#34236314 я выбрал единственный вариант, чтобы отменить слияние, не прерывая историю:

git revert -m 1 commit_hash

Тем временем еще больше развития на masterпроизошло так же, как автор добавил фиксации фикса. Теперь я хочу пойти на второй запуск, чтобы интегрировать / объединить функцию. К сожалению, сейчас я получаю дюжину конфликтов, потому что первый метод применения и возврата затрагивает те же строки кода, что и второй.

git merge --no-ff feature/myfeature
<pointless conflicts all over>

Как я могу повторно применить ранее восстановленную ветвь функций без этих бессмысленных конфликтов?

Я старался -s recursive -Xrenormalize без удачи Rebase также вызовет те же конфликты.

1 ответ

Вместо повторного объединения ветви, которую вы вернули, вы должны отменить фиксацию возврата. Я имею в виду буквально,

git revert <sha1>

где sha1 это обязательство, сделанное вашим ранее git revert,

Другие вопросы по тегам