Nao000のぶろぐ

蝶を追っている少年になりたい

git の merge するときの fast-forward ってなんすか。

こういうことらしい

merge 対象のブランチが単純に先行するだけだった場合に、現在のブランチを先行するブランチに移動するだけみたいです。

以下の状況のときに fast-forward なマージを行うときを考えます。

これが、

featureA ---- featureB(main branch)
                  |
                  \ ---- featureC ( feature-c branch )

こうなるようです。

featureA ---- featureB
                  |
                  \ ---- featureC ( main branch, feature-c branch )

non fast-forward マージのときはこうなるはず

featureA ---- featureB -------- featureC merge commit ( main branch )
                  |                  /
                  \ ---- featureC ( feature-c branch )

おわり

今までは GUI クライアントやコマンドの言いなりになっていました。