У меня есть рабочий процесс, в котором мне нужно иметь возможность получить несколько репозиториев с одного git-сервера (server1) и перенести их на другой git-сервер (server2). server2 находится в сети без доступа к Интернету, а некоторые репозитории используют подмодули, которые ссылаются на другие репозитории, которые находятся на server1.
Обычно, когда я клонирую супер-репо (тот, который содержит субмодули) рекурсивно, он клонирует субмодули из их исходного источника. Однако это не вариант при клонировании с сервера2, поскольку сервер2 не имеет доступа к Интернету.
Я думал о том, чтобы перенести субмодули на сервер2 и клонировать эти версии при клонировании супер-репо с сервера2. Как мне достичь этого, сохранив способность?
То есть, предполагая, что все репозитории на сервере2 идентичны репозиториям на сервере1, я хочу, чтобы следующие 2 команды были эквивалентны, даже если сборочный компьютер в сети сервера2 не может достичь сервера1 для рекурсивного клонирования подмодулей:
git clone --recurse-submodules https://server1/super-repo.git
git clone --recurse-submodules https://server2/super-repo.git
(и напомним, что server2 не может достичь server1 при рекурсивном клонировании подмодулей)
Я думал о том, чтобы попытаться достичь этого с помощью веток, но похоже, что это приведет к проблеме обслуживания.