Git использует .gitmodules для хранения ссылки на ваш проект подмодуля, но не конкретную версию. Поэтому, когда вы переключаете ветвь подмодуля, файл git .gitmodules не изменяется.
Вместо этого git обновляет количество версий вашего подмодуля при изменении подмодуля. Если вы посмотрите на верхнюю часть модуля
git diff
вы увидите что-то вроде
-Subproject commit 829b869657418fdac7964c3671ed9a378f09c032
+Subproject commit 829b869657418fdac7964c3671ed9a378f09c032-dirty
Если вы хотите каждый использует новый подмодуль ветку, вы должны совершить & толчок, что изменение (новый подмодуль номер зафиксированной) в ваш верхний модуль репо.
В основном это работает как ссылка на конкретную версию подмодуля.
Посмотрите здесь для подробностей: https://git-scm.com/book/en/v2/Git-Tools-Submodules#Starting-with-Submodules
Почему вы хотите это сделать? Если вы думаете об этом, если вы измените ветвь, которую отслеживает подмодуль, то не может ли это выбросить код другого? Субмодулы - одна из областей Git, которая очень сложна. Может возникнуть проблема с вашей проблемой. –
Я работаю над стабильной ветвью br1 и хочу протестировать на экспериментальном br2. Если я не обновляю файлы .gitmodules, другие пользователи не смогут его увидеть. – Rohit