Як перевірити конкретну версію підмодулю за допомогою 'git submodule'?


Відповіді:


167

Репозиторії субмодулів залишаються у відокремленому стані 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)

Додайте каталог підмодулів і покладіть зобов'язання на збереження нового вказівника.


14
Після того як я зобов’язав батьківське репо з певною гілкою / версією підмодуля, чи можуть інші користувачі перевірити ту саму версію підмодуля в майбутньому? Або вони знову повинні вказати вручну?
QZHua

@QZHua: Я експериментував з цим сам, і, здається, ідентифікатор фіксації підмодуля зберігається, коли батьківський клонований.
Психонавт

37

Крок 1: Додайте підмодуль

   git submodule add git://some_repository.git some_repository

Крок 2: Зафіксуйте підмодуль до певного коміту

За замовчуванням новий підмодуль буде відслідковувати HEAD головної гілки, але він НЕ буде оновлюватися під час оновлення вашого основного сховища. Для того, щоб змінити підмодуль для відстеження певної фіксації чи іншої гілки, змініть каталог на папку субмодуля та переключіть гілки так, як у звичайному сховищі.

   git checkout -b some_branch origin/some_branch

Тепер підмодуль закріплений на гілці розвитку замість HEAD майстра.

Від двох хлопців, які сперечаються - підв'язують підмодулі Git до певного комітету чи відділення .


20
Це простіше у використанніgit submodule add -b some_branch git://some_repository.git some_repository
Caumons

15
На даний момент не здається, що це git submodule add -bможе взяти тег або sha1hash. Це може взяти лише гілка.
CMCDragonkai

Чи є проблема для цього в трекері випуску Git? Хтось люб’язно розмістить URL-адресу, щоб ми могли відстежувати її? Дякую.
колан

Інструкції @colan щодо повідомлення про помилки розміщені на веб- сайті git-scm.com/community . Але -bпідтримка гілок, а не тегів чи фіксування шасів, є особливістю, а не помилкою (насправді -bце скорочення --branch).
Генрі

1
Зітхнути. Після всіх цих років у них досі немає відстежувача публічних випусків.
колан
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.