Введение
🧑💻 Новый в Git или LabEx? Мы рекомендуем начать с курса Быстрый старт с Git.
В Git подмодули - это репозитории внутри репозиториев. Они позволяют включать другие репозитории в качестве зависимостей в вашем проекте. Когда вы клонируете Git-репозиторий, содержащий подмодули, подмодули не автоматически клонируются. Это может привести к проблемам при попытке собрать или запустить проект. В этом лабе вы научитесь клонировать отсутствующие подмодули и делать checkout коммитов.
Клонирование отсутствующих подмодулей
Вы работаете над проектом, который содержит подмодули. Когда вы клонируете проект, подмодули не автоматически клонируются. Это вызывает проблемы при попытке собрать или запустить проект. Вам нужно клонировать отсутствующие подмодули и сделать checkout правильных коммитов.
Для этого лабы мы будем использовать Git-репозиторий по адресу https://github.com/git/git. Этот репозиторий содержит подмодули, которые не автоматически клонируются при клонировании репозитория.
Чтобы клонировать отсутствующие подмодули и сделать checkout правильных коммитов, следуйте шагам:
- Перейдите в директорию репозитория:
cd git - Инициализируйте подмодули:
git submodule update --init --recursive - Переключитесь на правильный коммит подмодуля, то есть на ветку
master:
Вот конечный результат:git submodule foreach git checkout master
Подмодуль'sha1collisiondetection' (https://github.com/cr-marcstevens/sha1collisiondetection.git) зарегистрирован для пути'sha1collisiondetection'
Клонирование в '/home/labex/project/git/sha1collisiondetection'...
Путь подмодуля'sha1collisiondetection': проверен '855827c583bc30645ba427885caa40c5b81764d2'
Резюме
Клонирование отсутствующих подмодулей и выполнение checkout коммитов - это важный шаг при работе с Git-репозиториями, содержащими подмодули. Следуя шагам, описанным в этом лабе, вы можете убедиться, что ваш проект собирается и запускается правильно.