Ceeds Academy教材アプリ教材・症状語・タグで検索
索引グラフ試す
バージョン管理▸Git

Git: コンフリクトの解決(merge conflict)

hands-on所要 25分最新草稿
前提: GitHub: Pull Request とコードレビュー(PR)→次: Git: 変更の取り消し(restore / revert / reset)
意味グラフ(この教材と内容的に近い教材・1ネスト)
例え(Analogies)
コンフリクト=二人が同じ行を直した

同じ文書を二人が同じ段落で別々に書き換えると、どちらを採るか機械には決められない。だから人間が「最終稿」を作る—それがコンフリクト解決。

概要

📍 version-control ▸ Git ▸ コンフリクトの解決 | 種別: hands-on | facts_as_of 2026-06(Git 2.54)

公式ドキュメント — hands-on

🎞 スライド

コンフリクトの解決

双方が同じ箇所を変えると起きる

マーカーの読み方(テキスト図)

<<<<<<< HEAD
(現在のブランチの内容)

(取り込もうとした内容)

feature-x
↑ どちらを採るか人間が決めて、マーカーを消す

解決3ステップ

編集して正しい形に → git add → git commit

—
出典(sources)

git-scm.com/docs (git-merge) ; Pro Git (Basic Merge Conflicts) ; Git 2.54 / 2026-06確認

確認問題(Review-Questions)
コンフリクト解決を中止してマージ前に戻すコマンドは?コード
基礎公式
解答・解説▾ 開く

git merge --abort

マージでコンフリクトが起きた。マーカーを見つけてから解決・完了までの手順を述べよ。記述
基礎公式
解答・解説▾ 開く

衝突ファイルのマーカー(<<<<<<< ======= >>>>>>>)を消して最終形に編集 → git add → git commit(または git merge --continue)。

運営メモ・チェックリスト(配信除外)

🔒 運営メモ(公開除外)

  • 版非依存。requires: git-07-pull-request。unlocks: git-09-undo。taxonomy=version-control。
  • 例え=Analogies(二人が同じ原稿を直した)。確認問題=Review-Questions。
目次
例え概要公式ドキュメント出典確認問題
鮮度
最新
更新: 2026-06-15
次回棚卸し: 2026-12-15
周期: 6か月
版: Git 2.54

概要

マージ時、双方が同じ箇所を変更していると Git は自動統合できずコンフリクトになります。Git は衝突箇所にマーカーを書き込むので、人間が「どちらを採るか」を決めて解決します。

公式ドキュメント準拠(Git 2.54)

コンフリクトが起きると、該当ファイルに以下のマーカーが入ります。

<<<<<<< HEAD
(現在のブランチの内容)
=======
(取り込もうとしたブランチの内容)
>>>>>>> feature-x

解決の手順:

  • 該当ファイルを開き、マーカー(<<<<<<< ======= >>>>>>>)を消して正しい最終形に編集。
  • git add <file> で解決済みとしてマーク。
  • git commit(または git merge --continue)でマージを完了。
git status            # 衝突しているファイルを確認
git merge --abort     # マージ前に戻してやり直す

出典: Pro Git: Basic Merge Conflicts / git-merge

🧭 誤解訂正集

よくある誤解 正しい理解
コンフリクト=エラー/失敗 正常な状態。Gitが判断を人に委ねているだけ
起きたら最初からやり直す マーカーを編集→add→commitで解決(git merge --abort で戻すことも可)

📖 用語

  • コンフリクト(衝突) … 双方が同じ箇所を変更し、Gitが自動統合できない状態。
  • コンフリクトマーカー … <<<<<<< / ======= / >>>>>>> で衝突箇所を示す目印。
  • HEAD … 現在のブランチ(いる側)を指す。マーカー上段の内容。
  • git merge --abort … マージを中止し、開始前の状態へ戻す。
  • git merge --continue … 解決をadd済みにした後、マージを完了する。

✅ 確認の目安(can-do)

コンフリクトが起きる条件を説明でき、マーカー(HEAD側/取り込み側)を読んで正しい最終形に編集 → add → commit で解決する流れと、--abort でやり直せることを、**「衝突したらどう収束させるか」**として判断できる。

⚠️ エラー復旧集

症状 原因 復旧
マーカーが残ったままcommit 編集漏れ マーカー行を全て消して再add/commit
解決を諦めたい — git merge --abort でマージ前へ
どこが衝突か分からない — git status / エディタのマージ表示を使う