для меня есть некоторая проблема при использовании подмодулей git.
Первый шаг: перейти в подмодуль dir, checkout new-b; push --set-upstream origin new-b;
Второй шаг: cd parent dir; git config -f .gitmodule submodule.<submodule-name>.branch new-b;
Третийшаг: в родительском каталоге, exec : git add .; git commit -m"xxx"; git push;
Четвертый шаг: cd tmp; git clone parent-dir; cd parent-dir; git submodule update --init; git submodule update --remote;
Пятый шаг: git submodule status;
Результат состояния показывает, что подмодуль все еще находится в исходной ветви.
Ветвь new-b будет выбираться до тех пор, пока не будет выполнено «submodule update --remote» после некоторого нового коммита в подмодуле.и ветвь в статусе в родительском директории все еще является оригинальной (новая ветка выбирается только для локальной)
единственный способ изменить конфигурацию субмодуля в родительском директории:
1 cd sub; git checkout -b new-b;
Измените что-нибудь, например, отредактируйте README.md;
git commit -m "edited" -a
git push --set-upstream origin new-b
2 cd parent;
git config -f .gitmodules submodule.sub.branch new-b
git add .gitmodules sub
git commit -m"switch branch"
git push
, затем проверьте, изменяется ли ветвь sub в родительском
git clone parent
cd parent
git submodule update --init
git submodule status
, так есть ли способ переключить ветку подмодуля git, пока ветвь новая, но ничего не изменилось?