【Git】git mergeコマンドで異なるブランチの更新分を取り込む

異なるブランチの更新分を取り込むには

git mergeコマンドを使用して、作業中のローカルブランチに対してリモートリポジトリ から異なるブランチの更新分を取り込むこともできます。

git mergeコマンドについての基本的なフローはこちら

【Git】fetch, merge, pullの基本的な使い方

例として、ローカルリポジトリのsub1ブランチに、派生元のブランチであるmasterブランチの更新分を取り込みます。

1. masterブランチのリモート追跡ブランチ origin/master を最新の状態にする
(現在の作業ブランチはsub1とする)

2. masterブランチ(リモート追跡)とsub1ブランチの差分を比較

3. 差分をマージ

マージに成功すると、下記のようなメッセージを表示されますが、:qで閉じます。

注意
マージする内容によってはコンフリクト(衝突)が発生する場合がありますが、その場合は対象のファイルを開いて解消します。

マージ完了した直後、 git status コマンドによってahead(先行)を確認できますが、これは他のブランチの状態を取り込んだことにより、リモート追跡ブランチよりもコミットの状態が先に進んでいる状態となったためです。
(origin/sub1 よりもsub1が進んでいるという意味)

上記のメッセージにあるとおり、git push コマンドでリモートへ反映することにより、
同リモート追跡ブランチも更新されるため、この状態は解消されます。

Follow me!