Gitでコンフリクトした場合の具体的対処手順
Gitでマージやpull時に発生するコンフリクト(競合)の原因と、その解消方法を初心者向けにわかりやすく解説。手動解決の流れやGUIツールの活用法まで、実務に役立つ対処手順を紹介します。
Gitのコンフリクトとは?
コンフリクト(競合)とは、異なるブランチで同じファイルの同じ箇所が編集された場合に、Gitが自動で統合できなくなる状態です。主に以下のタイミングで発生します:
- ブランチをマージしたとき
でリモートの変更を取り込んだときgit pull
を行ったときgit rebase
コンフリクトが発生したときのファイルの状態
該当ファイルには以下のようなマーカーが挿入されます:
<<<<<<< HEAD (現在のブランチの内容) ======= (マージしようとしているブランチの内容) >>>>>>> ブランチ名
このマーカーが出た箇所を確認し、どちらの内容を採用するか判断する必要があります。
コンフリクト解消の基本手順(手動)
- 対象ファイルを開いてマーカーを確認する
- 必要に応じて内容を編集し、マーカー(
,<<<<<<<
,=======
)を削除>>>>>>>
- 編集が完了したらステージング
git add ファイル名
- マージを完了
git commit
git pull
や git merge
の場合は commit
、git rebase
の場合は:
git rebase --continue
GUIツールでのコンフリクト解消(例:VS Code)
- コンフリクトが発生すると、エディタが自動で検出
- 「Current Change」「Incoming Change」などの選択肢から選ぶ
- 解消後、ステージしてコミット
GUIなら視覚的に確認できるため、初心者にも扱いやすいです。
よくある失敗とその対策
状況 | 原因 | 対策 |
---|---|---|
マージ後のコミットを忘れる | だけで終えている | を忘れずに実行 |
間違ってマーカーを残したまま | 編集ミス | マーカーを全て削除してからadd |
競合が多くて分からない | 複数ファイルが衝突 | 1つずつ丁寧に処理する/ツール使用 |
まとめ:慌てず1つずつ処理すれば解決できる
コンフリクトはGitを使っていれば誰でも経験する問題です。手動での解消手順を理解し、必要に応じてGUIツールも活用することで、安全かつスムーズに対処できます。慣れてくれば自然と対応できるようになるので、まずは経験を積んでみましょう。

編集部