Ответ 1
То, как сообщается о состоянии подмодулей git, сильно изменилось по сравнению с последними версиями git, поэтому вы действительно должны включить вывод git --version
, чтобы мы могли точно помочь.
Однако в любом случае вывод git diff example.com/soundmanager
должен рассказать вам больше. Если вы видите вывод с тем же именем фиксации, но с -dirty
, добавленным в новую версию, например:
diff --git a/example.com/soundmanager b/example.com/soundmanager
--- a/example.com/soundmanager
+++ b/example.com/soundmanager
@@ -1 +1 @@
-Subproject commit c5c6bbaf616d64fbd873df7b7feecebb81b5aee7
+Subproject commit c5c6bbaf616d64fbd873df7b7feecebb81b5aee7-dirty
... чем это означает, что git status
в подмодуле не является чистым - попробуйте cd example.com/soundmanager
, а затем git status
, чтобы узнать, что происходит.
С другой стороны, если вы видите разные версии фиксации, например:
diff --git a/example.com/soundmanager b/example.com/soundmanager
index c4478af..c79d9c8 160000
--- a/example.com/soundmanager
+++ b/example.com/soundmanager
@@ -1 +1 @@
-Subproject commit c4478af032e604bed605e82d04a248d75fa513f7
+Subproject commit c79d9c83c2864665ca3fd0b11e20a53716d0cbb0
... это означает, что версия, на которой находится ваш подмодуль (т.е. то, что вы видите из cd example.com/soundmanager && git show HEAD
), отличается от версии, зафиксированной в главном дереве проекта (т.е. что вы видите из git rev-parse HEAD:example.com/soundmanager
). Если первое верно, вы должны добавить и перенести новую версию подмодуля в свой основной проект с чем-то вроде:
git add example.com/soundmanager
git commit -m "Update the soundmanager submodule"
С другой стороны, если последнее то, что вы хотите, вы можете изменить версию, с которой подмодуль находится:
git submodule update example.com/soundmanager