サブモジュールの現在のブランチに、コミットIDが指すコミットオブジェクトをマージする
「サブモジュール」の現在のブランチに、「コミットID」が指す「コミットオブジェクト」をマージします。1.サブモジュールの状態
「サブモジュール」の状態を見てみます。以下のように、「mySubProject」サブモジュールが配置されており、「mySubProject」サブモジュールの「HEAD」は「fix」ブランチを指しています。
2.コミットIDの確認
「mySubProject」サブモジュールの「コミットID」は、以下のようになっています。3.サブモジュールのブランチの状態
「mySubProject」サブモジュールのブランチの状態は、以下のようになっています。現在のブランチは「fix」ブランチで、「HEAD」は「fix」ブランチを指していることが分かります。
また、「コミットID」と「master」ブランチが指している「コミットオブジェクト」が同じです。
4.サブモジュールのコミットIDとブランチ構成
以上から、「mySubProject」サブモジュールの「コミットID」とブランチ構成は、以下のようになります。5.コマンドの実行
コマンドのオプションは、以下のオプションを指定します。オプション |
---|
--merge |
「端末」から、以下のコマンドを実行します。
コマンドの詳細は、「サブモジュールを更新するコマンドの説明」を参考にしてください。
ポイントは、赤字の箇所です。
git submodule update --merge
6.コマンドの実行結果
以下のように、現在のブランチに、「コミットID」が指す「コミットオブジェクト」をマージします。コミットメッセージは自動的に生成されます。
7.サブモジュールのブランチの状態
「mySubProject」サブモジュールのブランチの状態は、以下のようになっています。「マージコミット」が行われています。
8.サブモジュールのコミットIDとブランチ構成
「mySubProject」サブモジュールの「コミットID」とブランチ構成は、以下のようになります。マージコンフリクトが発生した場合は
通常のマージと同様に、状況によっては「マージコンフリクト」が発生します。自分で「マージコンフリクト」を解消しコミットを行うか、以下のようにマージを中止します。
以下を参考にしてください。