Gitでコンフリクトが起きたときの対処法|原因から解決手順まで徹底解説

Gitのブランチが分岐して衝突しているイメージとノートパソコンのコード画面
Gitコンフリクトの原因と正しい解決手順をわかりやすく解説

Gitでチーム開発や複数ブランチ運用を行っていると、**コンフリクト(競合)**は必ず発生します。
しかし、仕組みを正しく理解していれば恐れる必要はありません。

本記事では、Gitでコンフリクトが起きる原因から、実際の解決手順、再発防止のポイントまでを体系的に解説します。
Gitの基本構造を理解したい場合は、あわせて
👉 Gitの基本と仕組みを理解する記事 を参照すると理解が深まります。

Gitコンフリクトとは何か

コンフリクトの定義

コンフリクトとは、同じ箇所の変更内容がブランチ間で異なっているため、Gitが自動的に統合できない状態のことです。

主に以下の操作時に発生します。

  • git merge
  • git rebase
  • git pull

なぜ自動マージできないのか

Gitは「変更履歴」をもとに自動で統合を試みます。

しかし、

  • 同じ行を異なる内容に編集している
  • 片方で削除し、もう片方で編集している

といった場合、どちらを正とするか判断できません。
そのため、人間による判断が必要になります。

コンフリクトが起きる典型パターン

① 同じ行を同時に編集した場合

もっとも一般的なケースです。

例:

  • mainブランチでAさんが変更
  • featureブランチでBさんが同じ行を変更
  • featureをmainへマージ

このとき衝突が発生します。

② 削除と編集が衝突した場合

  • main:ある行を削除
  • feature:その行を編集

この場合もGitは判断できません。

③ rebase時のコンフリクト

git rebaseは履歴を書き換えながら適用していくため、
途中のコミットで衝突することがあります。

mergeとの違いについては
👉 Gitのrebaseとmergeの違いを解説した記事 も参考になります。

実際のコンフリクト表示の見方

コンフリクトが発生すると、対象ファイルに以下のような表示が出ます。

<<<<<<< HEAD
現在のブランチの内容
=======
マージしようとしているブランチの内容
>>>>>>> feature

各記号の意味

記号意味
<<<<<<< HEAD現在のブランチの内容
=======区切り線
>>>>>>> featureマージ対象ブランチの内容

この印を削除し、正しい内容だけを残します。

コンフリクト解決の基本手順

① 状態を確認する

git status

どのファイルが競合しているか確認します。

② ファイルを編集する

コンフリクトマーカーを削除し、
最終的に採用するコードだけを残します。

場合によっては、両方の変更を統合することもあります。

③ 解決済みとして追加する

git add ファイル名

④ マージを完了する

git commit

rebase中の場合は:

git rebase --continue

これで完了です。

GUIツールでの解決方法

VS Codeなどのエディタでは、
「現在の変更を採用」「受け入れる」「両方保持」などのボタンで直感的に解決できます。

初心者はCLIだけでなくGUIの活用も有効です。

コンフリクトを減らすための予防策

① こまめにpullする

最新のmainを取り込んでから作業することで衝突を減らせます。

git pull origin main

② 作業単位を小さくする

大きな変更は衝突リスクが上がります。
小さく、頻繁にコミットすることが重要です。

コミットの基本は
👉 「Gitのコミットの仕組みを解説した記事」 を参照してください。

③ ブランチ運用ルールを明確にする

適切なブランチ戦略を採用することで衝突を抑制できます。

👉 Gitブランチの使い方|初心者向け運用ルール解説
👉 一人開発でも迷わないGitブランチ運用

コンフリクトは悪ではない

コンフリクトは「複数の変更が同じ箇所に影響を与えた」証拠です。
むしろ、Gitが安全に変更を管理していることの裏返しとも言えます。

恐れるべきなのは、
仕組みを理解せずに強引に解決することです。

まとめ

Gitのコンフリクトは、以下の流れで対応できます。

  1. git statusで確認
  2. マーカーを削除し正しい内容に編集
  3. git add
  4. git commitまたはgit rebase --continue

重要なのは、

  • なぜ起きたのか理解すること
  • 慌てずに差分を読むこと
  • 運用ルールを整えること

これらを押さえれば、コンフリクトは確実に乗り越えられます。

関連記事