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