Я хочу сделать что-то более сложное, чем un-submodule a git submodule
У меня есть репозиторий git верхнего уровня, который содержит репозитории подмодулей.
Я хочу выполнить перезапись истории ветки фильтра в репозитории верхнего уровня и, по сути, включить файлы из соответствующей версии подмодуля при каждой фиксации в истории верхнего уровня.
Это также можно описать как обратное Преобразование папки git в подмодуль задним числом?
Например,
Репозиторий подмодулей имеет историю
A--B--C--D
Топ репо имеет историю
X--Y--Z
where
X[points to A]--Y[points to B]--Z[points to D]
Наивное решение, описанное в другом вопросе, приведет к:
A--B--C--D
\
> M
/
X--Y--Z
Вместо этого я хотел бы:
X'--Y'--Z'
where:
X' is X plus the files from A
Y' is Y plus the files from B
Z' is Z plus the files from D'
Обращение к комментарию пользователя torek. Обратите внимание, что фиксация C потеряна, а фиксация D' содержит все изменения из коммитов C и D. Это сделано не по выбору, а для упрощения. Я также был бы счастлив, если бы фиксация C' (изменения из C) просто появлялась между Y' и Z', к сожалению, это приводит к другим пограничным случаям, которые не стоит решать.
Что я уже пробовал?
Потратил некоторое время, пытаясь сформулировать, что я хочу сделать, и исследуя существующие вопросы SO.
Это проблема XY?
Нет, это не так. Это не часть какой-то более крупной проблемы, которую я на самом деле пытаюсь решить.