Есть ли способ обновить боковую ветвь информацией от другой (основной или другой), а затем продолжить эти две? Как перебазирование, но сохранение там старых данных?
Оригинал:
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 (коммит J - это слияние), так что коммит K все еще является побочной ветвью (а будущий коммит L все еще находится на master), но имеет обновлена информация от мастера?
Я не хочу делать ребаз, потому что это закончится:
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) в прошлом и прекратить ее продвижение. Имеет ли это смысл? Я смотрю на это назад? Или я должен просто разобраться с беспорядочным трюком «name, rename» до тех пор, пока ветвь не будет объединена?