git submoduleを別のリポジトリに切り替える

以前、git submoduleを別のブランチに切り替えるというのを書いたのですが、

gozuk16.hatenablog.com

今度はオンプレのBitbucketからクラウドのBitbucketへ移行したのでリポジトリを切り替えました。
ググる.gitmodules を書き換えるというのが引っかかりますが、コマンドで出来るんじゃないかなと思って調べたらできました。

$ git submodule set-url <path> <newurl>

でした。

実際にはこんな感じ。(${workspace}クラウドのworkspace名です)

$ cat .gitmodules
[submodule "test_sm"]
    path = test_sm
    url = https://git.example.com/scm/test/test_sm.git
    branch = master

$  git submodule set-url test_sm https://bitbucket.org/${workspace}/test_sm.git
Synchronizing submodule url for 'test_sm'

$ cat .gitmodules
[submodule "test_sm"]
    path = test_sm
    url = https://bitbucket.org/${workspace}/test_sm.git
    branch = master

$ git commit .gitmodules
[master xxxxxxx] migrate git.example.com to bitbucket.org/${workspace}.
 1 file changed, 1 insertion(+), 1 deletion(-)

簡単ですね。