Recientemente me encontré con este problema nuevamente. Ha pasado un tiempo desde la última vez que trabajé con submódulos y después de haber aprendido más sobre git, me di cuenta de que simplemente verificar la rama en la que desea comprometerse es suficiente. Git mantendrá el árbol de trabajo incluso si no lo escondes.
git checkout existing_branch_name
Si desea trabajar en una nueva sucursal, esto debería funcionar para usted:
git checkout -b new_branch_name
El proceso de pago fallará si tiene conflictos en el árbol de trabajo, pero eso debería ser bastante inusual y si sucede, puede esconderlo, reventarlo y resolver el conflicto.
En comparación con la respuesta aceptada, esta respuesta le ahorrará la ejecución de dos comandos, que en realidad no tardan tanto en ejecutarse. Por lo tanto, no aceptaré esta respuesta, a menos que milagrosamente obtenga más votos positivos (o al menos cercanos) que la respuesta actualmente aceptada.