Клонирование репозитория git со всеми подмодулями

У меня есть рабочий репозиторий git, содержащий несколько подмодулей (полученных путем клонирования разных репозиториев).

Теперь я хочу скопировать весь репозиторий (со всеми подмодулями) в чистый репозиторий git на другой машине, используя либо отправку, либо клонирование. Я в порядке, теряя историю подмодулей (мне просто интересно сохранить их содержимое).

Это возможно ? В моих попытках в клонированном репозитории каталог подмодуля пуст.

P.S. Я знаю, что это неправильный рабочий процесс (см. создание общедоступного репо с подмодулями), однако нет возможности обновить исходный подмодуль.


person Claudio    schedule 08.08.2014    source источник


Ответы (2)


Вы можете клонировать репозиторий git со всеми подмодулями, используя recursive следующим образом:

git clone --recursive your-repo-url

с другой стороны, если вы уже клонировали, вы можете использовать:

git submodule init
git submodule update

Вы не потеряете историю в своем подмодуле

person Community    schedule 08.08.2014

в клонированном репозитории каталог подмодуля пуст.

Если под «клонированным репо» вы имеете в виду голое репо, это нормально: голое репо всегда пусто.

Если вы имеете в виду клон голого репо, вам нужно добавить:

git submodule update --init --recursive

Таким образом, вы увидите содержимое этих подмодулей.


Помните, что подмодуль это:

Так что все, что вам нужно сделать, это клонировать этот репозиторий (даже с опцией --recursive), и подмодули последуют за ним.

person VonC    schedule 08.08.2014