かもメモ

自分の落ちた落とし穴に何度も落ちる人のメモ帳

Git submodule が最新に更新されない件

$ git submodule update

update やし最新に更新されるやろ…っておもったら最新にならなかった。diff をみたら最新でないコミットハッシュからチェックアウトされていました。
なんもわからん…

全 submodule を強制的にする

$ git submodule foreach git pull origin main

submodule を foreach で回して全リポジトリgit pull origin main をする方法。
楽だけど、特定の submodule だけ最新にしたいとか、main じゃないブランチから取ってきたいって場合に困る

update には --remote オプションが必要だった

--remote オプションを付けると git fetch した上で pull してくれるっぽい。
オプション付けないときのアップデート is 何…

git submodule update コマンドには submodule のパスを渡すと、該当の submodule だけにコマンドを実行できるので、特定の submodule を最新にしたい時は次のようなコマンドを実行すれば OK っぽい

$ git submodule update --remote <submodule path>

おわり

Git submodule ムズすぎる…


[参考]

なんでもあるな…