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