Git Submodules are like disk mounting: these are mounted to locations inside parent repository. With time preferences changes: style or tooling or any reasons which may lead you to change the location of a submodule.
Git being flexible supports this use case and provide
mv command which does the magic:
git mv <source> <destination>
git mv command is similar to Unix
git mv on an existing submodule. There exist git submodule on path
pages/article; it is required to be moved to a new path
$ git submodule bd6cd4271e782cf1200bbeb263a6d897666cd785 pages/article (heads/master)
moving submodule to the new location:
$ git mv pages/article content/article $ git submodule bd6cd4271e782cf1200bbeb263a6d897666cd785 content/article (heads/master)
Voila, the submodule has been relocated !!