作業ブランチに進んだmainの変更をマージ(merge)して取り込む方法とコンフリクト解消法

Git
この記事は約2分で読めます。

この記事の最終更新日: 2023年2月10日

Git のブランチ間の変更をマージするには、次の手順が一般的です。

作業ブランチから main ブランチへの最新の変更を取得する

まずはローカルのmainブランチを最新の状態に更新する必要があります。

$ git checkout main
$ git pull

作業ブランチを main ブランチにマージする

$ git checkout <作業ブランチ名>
$ git merge main

マージ処理が開始されます。

このとき、もしコンフリクトが発生した場合は以下のような表示になります。

$ git merge main
Auto-merging <ファイル名>
CONFLICT (content): Merge conflict in <ファイル名>

コンフリクトを解消する

マージ処理中は、コンフリクトが発生している箇所に、大量の矢印と共に以下のような形で両方の内容が挿入されています。

マージ処理中にファイルの内容を編集・保存・コミットして、解決する必要があります。

<<<<<<< HEAD
<作業ブランチの変更>
=======
<main ブランチの変更>
>>>>>>> main

解決したコンフリクトをコミットする

$ git add <ファイル名>
$ git commit

コンフリクトが発生しているコミットの数だけ、この作業を繰り返す必要があります。

マージが完了したらリモートブランチにpushする。

$ git push

これにより、作業ブランチに進んでしまった main の変更を含む変更がリモートリポジトリに push され、他のチームメンバーと共有されます。

コメント

タイトルとURLをコピーしました