Почему тот же конфликт появляется снова, когда я использую git rebase?
Я прочитал соответствующие вопросы о git merge и git rebase на SO, но до сих пор не могу полностью понять, что происходит под капотом.
Вот наша ситуация разветвления:
MASTER------------------------
\ \
\ \----Feature B---
\ \
\-----Feature A----------\---Feature A+B
У нас есть 2 ветви функций, которые происходят от мастера в разное время, теперь мы хотим объединить 2 ветви. Мы хотим следоватьfirst rebase then merge
попрактикуйтесь, но когда мы переместим функцию A на функцию B, мы получим конфликты. Это ожидаемо, поскольку обе функции (и основная) имеют изменения в одних и тех же областях. Но странно то, что один и тот же конфликт продолжает появляться послеgit rebase --continue
, Это сводит нас с ума, поэтому мы в конечном итоге отменяем ребаз и используемgit merge
, Оказывается, конфликты на самом деле легко решить.
У меня вопрос двоякий:
Являетсяgit rebase
подходит для нашей ситуации? Или rebase хорош только для вытягивания нескольких (1 или 2) изменений?Что происходит под капотом, что заставляет один и тот же конфликт появляться снова и снова? Мое пониманиеrebase
разрешать конфликты по одному, но сравнивая, что и к чему обязывает?Отличные посты на SO:
Почему я должен разрешать один и тот же конфликт снова и снова?Как предотвратить множество конфликтов git, когда git перебазирует много коммитов?\git rebase разрешает конфликты снова и снова?