質問: ### Gitサブモジュールのコミットハッシュをmasterブランチに反映したい gitフローに沿った開発を行っています。 開発ブランチでサブモジュールの更新を取り込みました。 開発ブランチから派生したリリースブランチはサブモジュールの最新のコミットハッシュを保持していいます。 リリースブランチをマスターブランチにマージすると、サブモジュールの最新のコミットハッシュに更新されると期待していたのですが、コミットハッシュは更新されませんでした。 マスターブランチのマージの際、サブモジュールの更新を通知するには、単純なマージだけではダメなのでしょうか? ### 補足情報(Git環境) Gitサーバ:BitBucket Gitクライアント:SourceTree2.5.5 内臓Git:2.17.1.windows.2
回答: こんにちは。 「ハッシュが更新されない」というのが文字通りに「マージしたのにサブモジュールのref値更新が反映されない」という意味ならちょっと原因がわかりませんが、もしマスターブランチにマージした直後の話であるなら、以下の状況に当てはまらないでしょうか。 サブモジュールの更新をコミットする場合、gitのデータベース上では、モジュールのチェックアウト対象コミットの参照値のみが更新されます。これをマージすると、サブモジュールのチェックアウト先が変化するだけで、自動的にチェックアウトしてくれるわけではないのです。 サブモジュールを更新するコミットを含むブランチをマージした場合は、マージ後に`git submodule update`を実行する必要があります。