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
,