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

GitGitBeginner
Практиковаться сейчас

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

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

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


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL git(("Git")) -.-> git/SetupandConfigGroup(["Setup and Config"]) git/SetupandConfigGroup -.-> git/clone("Clone Repo") subgraph Lab Skills git/clone -.-> lab-12706{{"Клонирование отсутствующих подмодулей"}} end

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

Вы работаете над проектом, который содержит подмодули. Когда вы клонируете проект, подмодули не автоматически клонируются. Это вызывает проблемы при попытке собрать или запустить проект. Вам нужно клонировать отсутствующие подмодули и сделать 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-репозиториями, содержащими подмодули. Следуя шагам, описанным в этом лабе, вы можете убедиться, что ваш проект собирается и запускается правильно.