submoduleに変更があってアワアワしたときの対処メモ

対象読者

  • submoduleに変更があったようだがよくわからない
  • submoduleに変更があって、アワアワした

まずすること

最初の設定ができていない可能性もあるのでチェックする。

masavo.jp

git submodule update

する。

それでもだめな場合は以下をやっていったら大丈夫かもしれないし、だめかもしれない。

まず見るべき場所

  • web上のrepositoryにアクセスする
    • masterやmainブランチの.gitmodulesを開く
    • branchって表示を見る(なければmainやmaster)

すること

  • git statusでmodifiedになっているディレクトリに入る
  • git remote -vしてremoteを確認する
  • git fetch origin xxxxx(さっきsubmoduleに書いてあったbranch名)する
  • git checkout xxxxxする

Done.これで親のリポジトリからgit statusすると変更が消えてるはず

よくわからなくなる原因

  • コマンドがsubmoduleという名前なのに、submoduleに指定する情報は、.gitmodulesというファイルに書く点
  • git statusでsubmoduleの変更ということがわかりにくい点
  • git addが通り、git reset、checkoutが通らない点
  • 新しいsubmoduleが追加された時になんかよくわからない点

所感

規模デカめの開発の場合、submoduleとして追加したgit repositoryは、自分とは関係ないので、無視したい(怠惰・短気・傲慢)

参考