読者です 読者をやめる 読者になる 読者になる

tweeeetyのぶろぐ的めも

アウトプットが少なかったダメな自分をアウトプット<br>\(^o^)/

【git】submoduleを変更するときのメモ - git submodule sync

はじめに

gitでsubmoduleを変えたいときの殴り書きメモです。
各状況で使えるわけではないと思いますが、自分用なのであしからず。

こんな時

とあるリポジトリにsubmoduleを含んでいて
そのsubmodule側の挙動を確認とかデバッグとかしたいときなんかのケースです。

一時的にそのsubmoduleを自分のリポジトリにforkしてデバッグ仕込んで、とかやりたいですよね。

知ってたらたいしたことないんですが、
git submodule update というコマンドがあるために
名前からしてそれで更新できそうなので他の設定が違うんだと思い込んでハマりました。

やる

概要

リポジトリのurl(向き先)を変更したいときにやることは主に2つ

  • .gitmodules を開いてurlを変更する
  • git submodule syncを打つ

やってみる

上記のこんな時 のケースで、submoduleのリポジトリがそれぞれこんなだった場合です

  • 元々設定されてる : git@github.com:hoge/hogehoge.git
  • forkしたやつ : git@github.com:fuga/fugafuga.git
$ pwd
/path/to/メインリポジトリ

$ vi .gitmodules
---- vi編集 ----
[submodule "hogehoge"]
        path = hogehoge
        url = git@github.com:hoge/hogehoge.git
        ↓
        url = git@github.com:fuga/fugafuga.git
---------------

$ git submodule sync

終わり

変にgit submodule update でできそうな感じがあるので、
できると信じてハマって時間使うともったいですよね、というメモでした