対象読者
- submoduleに変更があったようだがよくわからない
- submoduleに変更があって、アワアワした
まずすること
最初の設定ができていない可能性もあるのでチェックする。
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は、自分とは関係ないので、無視したい(怠惰・短気・傲慢)