При переключении ответвлений с контролем мерзавца я предположил бы, что большую часть времени Вы захотите обновить свои подмодули.
Обновленный с примером:
На ответвлении A, контроль мерзавца B приведет к рабочей копии ответвления B с подмодулем S в 3852f1 (с измененным S). обновление подмодуля мерзавца будет контроль S в fd72d7.
Я считаю, что подмодули, которые не обновляются автоматически, соответствуют целям разработки Git. Git предназначен для работы в распределенном режиме и не предполагает, что вы даже можете подключиться к нелокальному репозиторию, если вы явно не укажете это. Git, не обновляющий подмодуль автоматически, будет ожидаемым поведением, если подумать об этом.
С учетом сказанного, если вы знаете, что вы всегда хотите, чтобы эти подмодули были втянуты, и вы знаете, что никогда не разветвляетесь этих подмодулей в другой локальный репозиторий, то он не должен ничего сломать, если вы автоматически обновили их после проверки.