Changing the path of a Git Submodule
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>
By style, git mv
command is similar to Unix mv
command.
In Action
Let’s try git mv
on an existing submodule. There exist git submodule on path pages/article
; it is required to be moved to a new path content/article
.
$ git submodule
bd6cd4271e782cf1200bbeb263a6d897666cd785 pages/article (heads/master)
moving submodule to the new location: content/article
$ git mv pages/article content/article
$ git submodule
bd6cd4271e782cf1200bbeb263a6d897666cd785 content/article (heads/master)
Voila, the submodule has been relocated !!