Я недавно столкнулся с этой проблемой снова. Прошло много времени с тех пор, как я последний раз работал с подмодулями, и, узнав больше о git, я понял, что достаточно просто проверить ветку, в которой вы хотите выполнить коммит. Git сохранит рабочее дерево, даже если вы его не спрятали.
git checkout existing_branch_name
Если вы хотите работать в новой ветке, это должно работать для вас:
git checkout -b new_branch_name
Оформить заказ не удастся, если у вас возникнут конфликты в рабочем дереве, но это должно быть довольно необычно, и если это произойдет, вы можете просто спрятать его, открыть его и разрешить конфликт.
По сравнению с принятым ответом этот ответ спасет вас от выполнения двух команд, которые в любом случае не требуют много времени для выполнения. Поэтому я не приму этот ответ, если он чудесным образом не получит больше голосов (или, по крайней мере, близко), чем принятый в настоящее время ответ.