Я думаю, что мне придется клонировать каждый репозиторий вручную ....
Вы должны клонировать каждый репозиторий.
Вам не нужно делать это вручную . Git использует внутри себя язык команд сценариев, и, следовательно, все установки Git имеют его. (Во многих системах он уже есть: «оболочка» ( оболочка ) или /bin/sh
, а иногда bash.) Тогда все, что вам нужно, - это список репозиториев для клон и небольшой кусочек скрипта:
for i in $(cat repo-list); do git clone ${baseurl}/$i; done
В общем, когда у вас есть хранилище, вам никогда не нужно повторно клонировать: вы просто сохраняете хранилище и запускаете на нем git fetch
как целесообразно, если и когда кто-то обновил репозиторий, из которого был сделан этот клон. Таким образом, вышеприведенное l oop не так уж и полезно, но:
for i in $(cat repo-list); do (cd $i && git fetch); done
более полезно. Обратите внимание, что здесь используется тот же список репо.
Вы можете также использовать здесь субмодули с суперпроектом, который состоит только из списка субмодулей, но это не представляется целесообразным. Вы можете использовать что-то вроде Google repo tool , которое, похоже, нацелено на управление многими свободно связанными репозиториями, подобными этому. (Я не использовал этот инструмент сам.)