枝分かれした複数の作業ブランチを統合することができるmergeコマンドと
3種類に分類できるマージの中でもファストフォワードマージと呼ばれる方法についてのお話です。
mergeコマンドの種類
git merge ブランチ名
git merge hoge
git merge リモート名/ブランチ名
git merge origin/hoge
マージには3種類ある
マージには下記の3種類があります。今回はファストフォワードマージについてご紹介していきます。
マージの種類
- ファストフォワードマージ
- オートマージ
- コンフリクト
ファストフォワードマージとは
ファストフォワードマージはブランチが枝分かれしないマージのこと。
下記の図にはmainブランチとmainブランチから派生したhogeブランチがある。
mainブランチにはコミット1があり、hogeブランチにはコミットAがある。また、コミットAは親のコミットとしてコミット1を参照している。
hogeブランチで修正を加えて、その修正をmainブランチのコミット1に取り込みたいとした場合にマージを行うと下記の図の通りmainブランチは枝分かれせずにhogeブランチのコミットAを参照するようになる。
ブランチをマージしてみる
ファストフォワードマージを実際に行ってみる。
hogeブランチのindex.htmlの内容を変更する。そしてその修正をmainブランチに取り込む
$ git merge hoge
Updating 22fe50a..124cdf9
Fast-forward //詳細①
index.html | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
詳細①
ファストフォワードでマージされていることが記載されている。