22.03.2016 Git: проект и его сателлиты
Boldenkov (обсуждение | вклад) (Новая страница: «<summary [ hidden ] > https://upload.wikimedia.org/wikipedia/commons/thumb/f/fa/Solar_System_size_to_scale_ru.svg/500px-Solar_System_size_to_scale_ru.svg.png К…») |
Версия 13:50, 22 марта 2016
Задача: включить внутрь проекта другой проект.
Git позволяет делать это! Смотрите подмодули.
Создание подмодулей
Допустим, у нас есть проект mypoject.
cd myproject
Добавить сюда подпроект можно так:
git submodule add /tmp/test_git/remote/sub2
При этом git создаст папки sub1 и sub2 и склонирует туда соответствующие проекты.
Важно что? В основном проекте myproject будет создан файл .gitmodules, содержащий список подроектов. Git будет понимать, что всё, что лежит в папках sub1 и sub2, не следует рассматривать, как кучу файлов. Они будут рассматриваться, как единые объекты sub1 и sub2 с соответствующими хэшами.
Что мы увидим в результате?
On branch master
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: .gitmodules
new file: sub1
new file: sub2
Мы видим здесь 3 объекта - sub1, sub2 и .gitmodules.
Именно так и будут интерпретироваться подпроекты - как объекты с хэшем. Соответственно, когда мы коммитим из проекта myproj его текущее состояние, сохраняется хэш каждого из подпроекта.
[ Хронологический вид ]Комментарии
Войдите, чтобы комментировать.