mfks17's blog(Life is Good !!)

趣味や思った事を書いていくと思います

submoduleで管理しているリポジトリのremoteのurlを変更する

ドキュメントも見ずに馬鹿みたいなことをしたので、今後このような事が無いように自分への戒めの意味で記録。

結論


  • submodule の 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

    これで無事に解決できました。

    って、あ〜馬鹿みたい


    最後までお読みいただきありがとうございました。