ファーストフォワードによるマージが行える時のみ、マージを行う
「ファーストフォワード」によるマージが行える時のみ、マージを行います。もし「ファーストフォワード」によるマージが行えない時は、マージを行いません。
「マージするコミットオブジェクト」に「注釈付きのタグ」を指定した場合は、「ファーストフォワード」によるマージを行います。
ファーストフォワードによるマージ
「ファーストフォワード」によるマージが行える状況でマージを行う例です。1.ブランチの確認
現在のブランチ構成を確認すると、以下のようになっています。現在のブランチは、「master」ブランチであることが分かります。
同様に、「HEAD」は「master」ブランチを指していることが分かります。
2.ブランチの状態
ブランチの状態を図にすると、以下のようになります。見ての通り、この状態で「master」ブランチに「fix」ブランチをマージすると、「ファーストフォワード」によるマージを行えることが分かります。
3.コマンドの実行
コマンドのオプションは、以下のオプションを指定します。オプション |
---|
--ff-only |
「端末」から、以下のコマンドを実行します。
コマンドの詳細は、「ファイルのマージを行うコマンドの説明」を参考にしてください。
ポイントは、赤字の箇所です。
git merge --ff-only --verbose fix
4.コマンドの実行結果
「ファーストフォワード」によるマージが行われ、マージ内容が表示されます。5.マージ後のブランチの確認
マージ後のブランチを確認すると、以下のようになっています。「master」ブランチのブランチヘッドが指す「コミットオブジェクト」の識別子と、「fix」ブランチのブランチヘッドが指す「コミットオブジェクト」の識別子が、同じ識別子になっていることが分かります。
6.マージ後のブランチの状態
マージ後のブランチの状態を図にすると、以下のようになります。3ウェイによるマージ
「3ウェイマージ」によるマージを行う必要がある状況でマージを行う例です。1.ブランチの確認
現在のブランチ構成を確認すると、以下のようになっています。現在のブランチは、「master」ブランチであることが分かります。
同様に、「HEAD」は「master」ブランチを指していることが分かります。
2.ブランチの状態
ブランチの状態を図にすると、以下のようになります。見ての通り、この状態で「master」ブランチに「fix」ブランチをマージすると、「3ウェイマージ」によるマージになることが分かります。
3.コマンドの実行
コマンドのオプションは、以下のオプションを指定します。オプション |
---|
--ff-only |
「端末」から、以下のコマンドを実行します。
コマンドの詳細は、「ファイルのマージを行うコマンドの説明」を参考にしてください。
ポイントは、赤字の箇所です。
git merge --ff-only --verbose fix
4.コマンドの実行結果
「ファーストフォワード」によるマージが行えないため、以下のようにエラーになります。5.ブランチの確認
現在のブランチ構成を確認すると、以下のようになっています。マージを行っていないため、「1.」の状態と同じです。