git clone recursive

Tags:

В Git 2.6 для Windows появилась неприятная бага - если уровень вложенности сабмодулей больше 3х, то команда git clone --recursive падает с ошибкой при клонировании глубоко вложенных сабмодулей.

Как бороться - разбить клонирование на 3 этапа:

git clone <repo_addr>
cd <repo_dir>
git submodule update --init
git submodule foreach --recursive git submodule update --init

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

Comments