本記事では、Gitでコンフリクト(CONFLICT)が発生した際の対処手順について解説しています。
Gitの学習におすすめ書籍
改訂2版 わかばちゃんと学ぶ Git使い方入門
メリット
- 漫画形式で読みやすく理解しやすい
- GitHubを使った実践的な内容も分かりやすい
ポチップ
先輩くん
Amazon Kindle Unlimitedに登録すると、月額980円で読み放題だからオススメだよ!
初回30日間は無料だから、まだ登録したことのない人はぜひ試してみてね!
全プログラマー必見!
変数名/関数名にもう悩まない!
変数名/関数名にもう悩まない!
リーダブルコード
メリット
- 美しいコードが書けるが自然と書けるようになる
- 他の開発者が理解しやすいコードになる
著: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
【Git】現在の変更状況を確認する方法|git statusコマンド
こちらの記事では、Gitで現在の変更状況を確認することができる、git statusコマンドについて詳しく解説しています。 【git statusコマンドの使い方】 現在の変更状況を…
「both modified:」 の後に表示されているファイルでコンフリクトが発生しています。ファイルをエディタ等で開くと、コンフリクトが発生している箇所に<<<< HEADなどの記述した覚えのないコードが挿入されています。
<<<<<<< HEAD
<p>mainブランチからの追記</p>
=======
<p>testブランチからの内容</p>
>>>>>>> test
ここには、コンフリクトが発生した原因となるコードが記述されています。見方は、<<<<<<< HEADの下には現在居るブランチで記述されたコード、======の下にはマージ先で記述されたコードです。
どちらのコードを優先するかを決め、不必要なコードは削除します。
<p>testブランチからの内容</p>
最後に、git addコマンドでステージに追加しgit commitコマンドでコミットして作業は完了です。
git add ファイル名
git commit -m "コミットメッセージ"
git addコマンドの使い方(ファイルをステージに追加)
こちらの記事では、git addコマンドの使い方とステージについて解説しています。git addは、Gitを扱う上で必ず使うコマンドなので使い方をマスターしましょう。 【git a…
git commit コマンドの使い方(変更を記録する)
こちらの記事では、git commit コマンドの使い方について解説しています。git commit コマンドはGitを扱う上で必ず使うコマンドの一つなので、使い方を覚えましょう。 …