git mergeしたらコンフリクト(競合)が発生して、どうすればいいかわからない…。
初心者にとってコンフリクトは恐怖ですよね。でも大丈夫。VSCodeを使えば、コンフリクトは簡単に解決できます。
この記事では、コンフリクトの原因から解決手順まで、初心者でもわかるように丁寧に解説します。

私も最初はコンフリクトが出るたびにパニックでした。でもやり方を知れば全然怖くないですよ!
コンフリクト(競合)とは?
コンフリクトとは、同じファイルの同じ部分を複数の人(またはブランチ)が変更した時に、Gitがどちらの変更を採用すべきか判断できない状態のことです。
例えば:
- Aさんが
main.jsの5行目を「Hello」に変更 - Bさんも
main.jsの5行目を「Hi」に変更 - この2つをマージしようとすると → コンフリクト発生!
Gitは「HelloとHi、どっちを採用すればいい?」と判断できないので、人間に判断を委ねます。
- コンフリクトが起きやすい場面
-
- チーム開発で同じファイルを複数人が編集した時
- 長期間ブランチを分けて作業していた時
- mainブランチの変更を取り込む(merge/rebase)時
コンフリクトが発生した時の表示
コンフリクトが発生すると、ファイル内に以下のようなマーカーが自動挿入されます:
<div class="speech-wrap sb-id-12 sbs-stn sbp-l sbis-cb cf">
<div class="speech-person">
<figure class="speech-icon"><img class="speech-icon-image" src="https://working-class-hero.net/wp-content/uploads/2023/10/cropped-ICON.jpg" alt="<<<<" width="80" height="80" /></figure>
<div class="speech-name"><<<<</div>
</div>
<div class="speech-balloon">
<p>現在のブランチの変更内容</p>
<p>=======</p>
<p>マージしようとしたブランチの変更内容</p>
</div>
</div>>>>> feature-branch
VSCodeでコンフリクトを解決する手順
ステップ1:コンフリクトが発生したファイルを開く
VSCodeのソース管理パネルを開くと、コンフリクトが発生したファイルに 「C」マーク が表示されています。
そのファイルをクリックして開きましょう。
ステップ2:VSCodeのボタンで解決する
VSCodeはコンフリクト箇所を色分けして表示し、解決用のボタンを表示してくれます。
| ボタン | 動作 | いつ使う? |
|---|---|---|
| Accept Current Change | HEADの変更を採用 | 自分の変更を優先したい時 |
| Accept Incoming Change | マージ元の変更を採用 | 相手の変更を優先したい時 |
| Accept Both Changes | 両方の変更を残す | 両方とも必要な時 |
| Compare Changes | 差分を比較表示 | 違いを確認してから判断したい時 |

迷ったら「Compare Changes」でまず差分を確認しましょう。内容を理解してから判断すれば安全です!
ステップ3:手動で編集する(必要な場合)
ボタンの選択肢だけでは対応できない場合は、手動でファイルを編集します。
コンフリクトマーカー(`
<<<<`、`=======`、`>>>>>>>`)を全て削除し、最終的な正しいコードだけを残します。例えば:
**コンフリクト発生時:**
“`javascript
<<<<<<< HEAD
const greeting = “Hello, World!”;
=======
const greeting = “Hi, Everyone!”;

コメント