Есть ли способ обновить боковую ветвь информацией от другой (мастер или другой), а затем продолжить? Как rebase, но сохраняя старые данные там?
Оригинал:
A---B---C---G---H master
\
D---E---F branchA
Результат:
A---B---C---G---H---L master
\ \
D---E---F---J---K branchA
Таким образом, branchA
получает информацию от коммитов C, G и H (Commit J - это слияние), так что commit K по-прежнему является боковой ветвью (и будущий commit L все еще находится на master), но имеет обновленная информация от мастера?
Я не хочу делать rebase, потому что это закончится тем, что:
A---B---C---G---H---L master
\
D'---E'---F'---K branchA
Создание "новых версий" D, E и F, как если бы они выполнялись поверх H вместо B, а проблема заключалась в том, что C и E - это переименование ключевой папки в репо, и я хочу свернуть их вместе, не добавляя еще никаких обновлений функций из branchA
. С помощью метода переустановки H использует новое имя папки, D 'создает имя старой папки, а E' удаляет ее снова, что не является самым чистым.
Суть в том, что я хочу, чтобы эта папка переименовала (C и E) в прошлом и перестала ее переносить. Это имеет смысл? Я смотрю на это назад? Или мне просто нужно разобраться с беспорядочным подзапросом "имя, переименовать", пока ветка не будет слита?