Мне нужно объединить два репозитория git в один новый репозиторий без потери истории и сохранить ветки и теги возможностей.
Это кажется довольно распространенным вопросом, который уже был решен много раз (например, https://github.com/unravelin/tomono или Объединение двух репозиториев Git без прерывания истории файлов ).
Но ни одно из решений не удалось решить, так как я могу вернуться назад во времени и просмотреть все файлы изуказанный коммит, в котором присутствуют оба подкаталога.
Так что мне интересно, возможно ли что-то подобное с git.
Это моя текущая настройка: два репозитория, которые были отдельно разработаны:
Они оба клонируются и объединяются в rpm нашей системой сборки (включая некоторые конфигурации и каталоги данных)
- / app / -> из apprepo
- / lib / -> из librepo
- / data /
- / config /
Теперь я хочу перенести оба репозитория.в одно «монорепо», где я также мог бы хранить конфигурацию и другие основные необходимые подкаталоги.
Если я использую одно из множества решений «слить х репо в одно репо», я получу однодвух состояний при просмотре дерева каталогов этого коммита:
- Файлы, не перемещенные в истории - фиксация в apprepo: только файлы, которые были в apprepo, видны и отображаются в корневом каталоге,Фиксация в librepo: только файлы, которые были в apprepo, видны и отображаются в корневом каталоге
- Файлы, перемещенные в истории - Commit в apprepo: видны только приложения subdir со всеми файлами, которые были в apprepo,При фиксации в librepo показывается только subdir lib со всеми файлами, которые были в librepo.
Это также делает теги практически бесполезными.Я хотел бы, чтобы приложение и библиотека были видны при любом коммите.
Давным-давно, при переходе с SVN на git, я справился с чем-то подобным, прочитав обе истории и "воспроизведя" коммиты, как если бы подкаталоги всегда были там.для этой конкретной проблемы, или я действительно должен жить с потерянными признаками и "неполной" историей?