Как мне добавить подмодуль Git для определенного тега или фиксации?
Как мне добавить подмодуль Git для определенного тега или фиксации?
Ответы:
Репозитории подмодулей остаются в отдельном состоянии HEAD, указывая на конкретную фиксацию. Изменение этой фиксации просто включает проверку другого тега или фиксации, а затем добавление изменения в родительский репозиторий.
$ cd submodule
$ git checkout v2.0
Previous HEAD position was 5c1277e... bumped version to 2.0.5
HEAD is now at f0a0036... version 2.0
git-status в родительском репозитории теперь будет сообщать о грязном дереве:
# On branch dev [...]
#
# modified: submodule (new commits)
Добавьте каталог подмодуля и зафиксируйте, чтобы сохранить новый указатель.
Шаг 1: Добавьте подмодуль
git submodule add git://some_repository.git some_repositoryШаг 2. Зафиксируйте подмодуль для конкретной фиксации
По умолчанию новый подмодуль будет отслеживать HEAD основной ветки, но он НЕ будет обновляться по мере обновления вашего основного репозитория. Чтобы изменить подмодуль для отслеживания конкретной фиксации или другой ветки, смените каталог на папку подмодуля и переключите ветки так же, как и в обычном репозитории.
git checkout -b some_branch origin/some_branchТеперь подмодуль закреплен на ветке разработки вместо HEAD мастера.
От двух спорящих парней - привяжите подмодули Git к конкретному коммиту или ветке .
git submodule add -b some_branch git://some_repository.git some_repository
git submodule add -bможет принимать теги или sha1hash. Можно только ветку взять.
-bвспомогательные ветки, а не теги или фиксация shas - это функция, а не ошибка (на самом деле -bэто сокращение --branch).