Клонирование отсутствующих подмодулей

Beginner

This tutorial is from open-source community. Access the source code

Введение

В Git подмодули - это репозитории внутри репозиториев. Они позволяют включать другие репозитории в качестве зависимостей в вашем проекте. Когда вы клонируете Git-репозиторий, содержащий подмодули, подмодули не автоматически клонируются. Это может привести к проблемам при попытке собрать или запустить проект. В этом лабе вы научитесь клонировать отсутствующие подмодули и делать checkout коммитов.

Это Guided Lab, который предоставляет пошаговые инструкции, чтобы помочь вам учиться и практиковаться. Внимательно следуйте инструкциям, чтобы выполнить каждый шаг и получить практический опыт. Исторические данные показывают, что это лабораторная работа уровня средний с процентом завершения 75%. Он получил 100% положительных отзывов от учащихся.

Клонирование отсутствующих подмодулей

Вы работаете над проектом, который содержит подмодули. Когда вы клонируете проект, подмодули не автоматически клонируются. Это вызывает проблемы при попытке собрать или запустить проект. Вам нужно клонировать отсутствующие подмодули и сделать checkout правильных коммитов.

Для этого лабы мы будем использовать Git-репозиторий по адресу https://github.com/git/git. Этот репозиторий содержит подмодули, которые не автоматически клонируются при клонировании репозитория.

Чтобы клонировать отсутствующие подмодули и сделать checkout правильных коммитов, следуйте шагам:

  1. Перейдите в директорию репозитория:
    cd git
    
  2. Инициализируйте подмодули:
    git submodule update --init --recursive
    
  3. Переключитесь на правильный коммит подмодуля, то есть на ветку 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-репозиториями, содержащими подмодули. Следуя шагам, описанным в этом лабе, вы можете убедиться, что ваш проект собирается и запускается правильно.