Renaming Git Submodules
Renaming a Git submodules since Git 1.8.5 is one command:
$ git mv <source> <destination>
That's all there is to it!
Note: Git 2.9 fixed an issue renaming nested submodules.
bash
$ git --version
git version 2.14.1
$ lsb_release -ds
Ubuntu 17.10
Example
bash
$ git mv submodule_a submodule_b
$ git status
On branch master
Changes to be committed:
modified: .gitmodules
renamed: submodule_a -> submodule_b
$ git diff --staged
diff --git a/.gitmodules b/.gitmodules
index 4a62538..798a2cc 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,3 +1,3 @@
[submodule "submodule_a"]
- path = submodule_a
+ path = submodule_b
url = ../submoduleproject
diff --git a/submodule_a b/submodule_b
similarity index 100%
rename from submodule_a
rename to submodule_b
$ git commit -m "Moved submodule"
[master 8d3b1a8] Moved submodule
2 files changed, 1 insertion(+), 1 deletion(-)
rename submodule_a => submodule_b (100%)