Чтобы изменить фиксацию, на которую указывает субмодуль, вам нужно оформить эту версию в субмодуле, а затем вернуться к репозиторию, в котором он находится, добавить и зафиксировать это изменение.
Или, если вы хотите, чтобы субмодуль находился в версии, на которую указывает топ репо, выполните git submodule update --recursive
. Добавьте --init
, если вы только что клонировали.
Кроме того, git submodule
без команды субмодуля покажет вам коммит, на который вы указываете. Перед коммитом будет стоять знак + или +, если он не синхронизирован.
Если вы посмотрите на дерево с подмодулем в нем, вы увидите, что подмодуль помечен как commit
, в отличие от остальных, которые являются сгустками или деревьями.
, чтобы узнать, какие конкретные точки фиксации по отношению к подмодулям вы можете:
git ls-tree <some sha1, or branch, etc> Submodule/path
затем вы можете увидеть коммит или что-то еще, если хотите, передав его в журнал и т. Д. (Опция git-dir
на уровне команд git позволяет пропустить необходимость перехода к субмодулю cd):
git --git-dir=Submodule/path log -1 $(<the above statement>)