1. ホーム 
  2. 備忘録 
  3. その他

変更をマージする

変更をマージする

~ $ git merge <ブランチ名>
~ $ git merge <リモート名/ブランチ名>

git merge コマンドを使うことで現在作業中のブランチに指定のブランチの内容をマージすることができる

マージには以下の3種類がある

  • Fast Foward:早送りになるマージ
  • Auto Merge:基本的なマージ
  • Conflict:競合が発生した際のマージ

Conflict は同じファイルの同じ行に対してマージする二つのブランチが異なる編集を行ったときに発生する

Fast Foward 以外のマージでは親コミットが二つになるため、親コミットIDを二つ記録したマージコミットという特別なコミットファイルが作成される


競合を解決する

<<<<<<< HEAD
# 現在のブランチで競合の原因となっている行
=======
# マージ元のブランチで競合の原因となっている行
>>>>>>> <マージ元ブランチ名>

マージ時に競合が起きてしまった場合、まず git status コマンドで競合が起きたファイルを確認する

マージが起きたファイルがわかったら、次にファイルの中身を開いてみると上記のような状態になっている

あとは必要な処理だけを残して、 <<<<<<< の行と ======= の行と >>>>>>> の行を削除したら、競合が解決できてコミットができる状態となる