Since git 1.8.5,
git mv old/submod new/submod
works as expected and does all the plumbing for you. You might want to use git 1.9.3 or newer, because it includes fixes for submodule moving.
Credits: Mike Lowerey from comment below
Original answer
Had the same problem just the moment ago and ended up deleting the submodule reference (as outlined in this article) and recreating it where i wanted it to go.
To follow your example of moving submodule jquery
into repos/jquery
- Delete the (typically three lines) submodule reference from
.gitmodules
.
- Check
.git/config
for references to the submodule and remove them, if existent
- do
git rm --cached jquery
to cut the submodule reference out of the repository
- remove the old submodule folder
- recreate you submodule reference (as you possibly did before) with
git submodule add git://github.com/jquery/jquery.git repos/jquery
In case your submodule was set to specific tag, respectively commit (which you'll surely have in a stable project) you will have set it again.
Due to this complex process i am strongly hoping there is (or will be, at least on the git roadmap) a more straightforward way of achieving this. If not, surely some scripts could be fumbled together to do this quicker...