【Amazon】人気の商品が日替わりで登場!
毎日お得なタイムセール!商品をみる

【Git】コンフリクトを解消する手順

本記事では、Gitでコンフリクト(CONFLICT)が発生した際の対処手順について解説しています。

Gitの学習におすすめ書籍
改訂2版 わかばちゃんと学ぶ Git使い方入門
総合評価
( 5 )
メリット
  • 漫画形式で読みやすく理解しやすい
  • GitHubを使った実践的な内容も分かりやすい
先輩くん

Amazon Kindle Unlimitedに登録すると、月額980円で読み放題だからオススメだよ!

後輩ちゃん

初回30日間は無料だから、まだ登録したことのない人はぜひ試してみてね!

全プログラマー必見!
変数名/関数名にもう悩まない!
リーダブルコード
総合評価
( 5 )
メリット
  • 美しいコードが書けるが自然と書けるようになる
  • 他の開発者が理解しやすいコードになる
著:Dustin Boswell, 著:Trevor Foucher, 解説:須藤 功平, 翻訳:角 征典
¥2,640 (2023/07/23 02:48時点 | Amazon調べ)
目次

コンフリクトの解消手順

別のブランチの内容をマージしようとした時に、以下のエラーメッセージが表示された場合は同じファイルの同じ行を変更しているため、コンフリクトが発生しています。

$ git merge test
Auto-merging index.html
CONFLICT (content): Merge conflict in index.html
Automatic merge failed; fix conflicts and then commit the result.

コンフリクトが発生した際、まずはどのファイルでコンフリクトが発生しているかを特定します。特定する方法は、git statusコマンドを実行します。

$ git status
Unmerged paths:
  (use "git add <file>..." to mark resolution)
        both modified:   index.html

「both modified:」 の後に表示されているファイルでコンフリクトが発生しています。ファイルをエディタ等で開くと、コンフリクトが発生している箇所に<<<< HEADなどの記述した覚えのないコードが挿入されています。

<<<<<<< HEAD
<p>mainブランチからの追記</p>
=======
<p>testブランチからの内容</p>
>>>>>>> test

ここには、コンフリクトが発生した原因となるコードが記述されています。見方は、<<<<<<< HEADの下には現在居るブランチで記述されたコード、======の下にはマージ先で記述されたコードです。

どちらのコードを優先するかを決め、不必要なコードは削除します。

<p>testブランチからの内容</p>

最後に、git addコマンドでステージに追加しgit commitコマンドでコミットして作業は完了です。

git add ファイル名
git commit -m "コミットメッセージ"

ブログランキング・にほんブログ村へ PVアクセスランキング にほんブログ村 FC2 Blog Ranking

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次