Это, в основном, результат того, что массивный класс C на мастере был подвергнут рефакторингу по линии на два меньших класса, C1 и C2. Затем C был сделан подклассом C2 и сокращен до скелетной версии для обратной совместимости. Таким образом, с этого момента мастер содержал C, C1 и C2. На этом мастер коммите git сказал, что C был переименован в C1. В последний раз ветка обновлялась до того, как это произошло. (Весь код C ++, если он помогает визуализировать вовлеченные файлы)
Очевидно, что когда я пытался перебазировать ветку на master, возникали конфликты, которые нужно было разрешить.
Как обычно, я использовал mergetool.
Итак, теперь mergetool предлагает следующее:
На Local у меня есть скелетная версия C.
Base и Remote имеют кучу изменений в C.
Поскольку скелетная версия C существует в Local, я пришел к выводу, что изменения из Base и Remote должны фактически перейти в C1, оставив C в покое.
Мой вопрос: как мне это сделать?