у нас есть 3 отдельных репозитория git (каждый с некоторыми ветвями), которые мы хотели бы объединить в один, сохраняя полную историю и возможность доступа к ветвям, например:
так это то, что у нас есть. 3 соглашения:
/A/.git
/B/.git
/C/.git
и мы хотели бы иметь одно супер-репо с 3 подкаталогами:
super/.git
super/A
super/B
super/C
и скажем при переключении на функцию branch1 (которая первоначально была в репо B, введенная в то время, когда репо C еще не существовало), мы ожидаем, что результатом будет:
super/.git
super/A
super/B
мы прочитали Объединение нескольких хранилищ git, но возникли проблемы с использованием git -stitch-repo, которые в основном работали как рекламируемые только в том, что довольно большое количество в супер-репо отсутствовали коммиты (без сообщений об ошибках, указывающих на проблему).
любая идея, что мы можем делать неправильно здесь?
ИЗМЕНИТЬ мы знаем о подмодулях и слиянии поддеревьев, но оба они не являются опцией. предполагается, что это одноразовая операция. нам нужно, чтобы репозиции объединялись раз и навсегда.
ИЗМЕНИТЬ вероятно, более простой способ поставить в основном тот же вопрос: скажем, у нас есть одно репо с 3 совершенно несвязанными ветвями. мы можем объединить их без конфликта с одной ветвью (поскольку у них нет файлов). теперь, когда мы смотрим на историю, мы видим 3 несвязанные ветки коммитов и одну точку, где они собрались вместе. но то, что мы хотели бы видеть, - это одна ветвь, состоящая из чередующихся (по дате/времени) совершения всех трех ветвей.