[Git] git merge でブランチの変更を取り込む

作成日: 2026年11月05日

git merge を実行すると、指定したブランチのコミットを、現在チェックアウトしているブランチへ取り込めます。別ブランチで進めた変更を、例えば main や master に統合するときなどに利用できます。

別ブランチの変更を取り込む

取り込み先のブランチにいる状態で、マージしたいブランチ名を指定します。

git checkout main
git merge feature

feature の変更が main より先に進んでおり、分岐後に main 側で追加のコミットがない場合は、fast-forward マージとなり、次のようなメッセージが表示されることがあります。

Updating f1b459a..acb4804
Fast-forward
 file.txt | 1 +
 1 file changed, 1 insertion(+)

すでに取り込み済みのブランチを再度マージしようとすると、Already up to date. と表示され、作業ツリーは変わりません。

マージコミットを残す

分岐後に両方のブランチでコミットがある場合、fast-forward だけでは統合できないことがあります。そのときは --no-ff を付けると、マージ結果を示すマージコミットを明示的に作成できます。

git merge --no-ff feature

リモートの更新を取り込んでからマージする流れでは、git fetch や git pull でリモートの状態を揃えたうえで git merge を実行することもあります。

参考

Git