submoduleで管理しているリポジトリのremoteのurlを変更する
ドキュメントも見ずに馬鹿みたいなことをしたので、今後このような事が無いように自分への戒めの意味で記録。
結論
# .gitmodules の url を変更する
$ git submodule sync # 確認
# .gitmodules を add して commit
実際にやった手順
おおもとのリポジトリをcloneしてくる
$ git clone git@hoge:piyo.git
.gitmodulesを消す
$ rm .gitmodules
submoduleのディレクトリを消す。
$ rm -rf piyo
おまじない
$ git rm --cached piyo
ここで、新たにサブモジュールを登録しなおして大元のリポジトリをpushしてみたが、サブモジュールのremoteのurlは変更されていなかった。
そこで、以下のようにしたら一応出来ました。
追加手順
大元のディレクトリの.git/modulesディレクトリにある
piyo/を削除
$ rm .git/modules/piyo
で、さらに.git/configの記述の[submodule]の項目を消す
$ vi .git/config
[submodule "piyo"]
url = git@hoge:piyo.git
ここでいったんコミットする
$ git commit -am "delete submodules"
ここで、新たにサブモジュールを登録しなおす。
$ git submodule add git@fuga:piyo.git
これで無事に解決できました。
って、あ〜馬鹿みたい