Gitでコンフリクトした場合の具体的対処手順

Gitでマージやpull時に発生するコンフリクト(競合)の原因と、その解消方法を初心者向けにわかりやすく解説。手動解決の流れやGUIツールの活用法まで、実務に役立つ対処手順を紹介します。

Gitのコンフリクトとは?

コンフリクト(競合)とは、異なるブランチで同じファイルの同じ箇所が編集された場合に、Gitが自動で統合できなくなる状態です。主に以下のタイミングで発生します:

  • ブランチをマージしたとき
  • git pull
    でリモートの変更を取り込んだとき
  • git rebase
    を行ったとき

コンフリクトが発生したときのファイルの状態

該当ファイルには以下のようなマーカーが挿入されます:

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

このマーカーが出た箇所を確認し、どちらの内容を採用するか判断する必要があります。


コンフリクト解消の基本手順(手動)

  1. 対象ファイルを開いてマーカーを確認する
  2. 必要に応じて内容を編集し、マーカー(
    <<<<<<<
    ,
    =======
    ,
    >>>>>>>
    )を削除
  3. 編集が完了したらステージング
git add ファイル名
  1. マージを完了
git commit

git pull
git merge
の場合は
commit
git rebase
の場合は:

git rebase --continue

GUIツールでのコンフリクト解消(例:VS Code)

  1. コンフリクトが発生すると、エディタが自動で検出
  2. 「Current Change」「Incoming Change」などの選択肢から選ぶ
  3. 解消後、ステージしてコミット

GUIなら視覚的に確認できるため、初心者にも扱いやすいです。


よくある失敗とその対策

状況原因対策
マージ後のコミットを忘れる
git add
だけで終えている
git commit
を忘れずに実行
間違ってマーカーを残したまま編集ミスマーカーを全て削除してからadd
競合が多くて分からない複数ファイルが衝突1つずつ丁寧に処理する/ツール使用

まとめ:慌てず1つずつ処理すれば解決できる

コンフリクトはGitを使っていれば誰でも経験する問題です。手動での解消手順を理解し、必要に応じてGUIツールも活用することで、安全かつスムーズに対処できます。慣れてくれば自然と対応できるようになるので、まずは経験を積んでみましょう。

編集部

編集部