GitHub Desktop でのコンフリクト解消方法

はじめに

チーム開発で避けて通れないのが コンフリクト(conflict)

複数人が同じファイルを同時に編集したときに発生し、Git が自動で統合できなくなる状態です。

コマンドラインでは難しく感じる人も多いですが、GitHub Desktop を使えば GUI で直感的に解決できます。


1. コンフリクトが発生する例

  • A さんが main ブランチで README.md を修正 → Push
  • B さんも同じ README.md を別の行で修正 → Push しようとする
  • Git は「同じファイルの同じ部分を違う内容で変更している」と判断し、コンフリクト発生

2. GitHub Desktop での表示

コンフリクトが発生すると、GitHub Desktop の画面に以下のように表示されます:

  • 「Conflicts detected in …」
  • 「Resolve conflicts」ボタンが表示される

3. 解消手順

① コンフリクトの確認

  1. Conflicts タブをクリック
  2. コンフリクトが起きたファイル一覧が表示される

② 解決方法の選択

GitHub Desktop は 3 つの解決オプションを提示します:

  • Accept Current Change(自分の変更を残す)
  • Accept Incoming Change(相手の変更を残す)
  • Accept Both Changes(両方を残す)

③ 手動編集(必要な場合)

  • 内容を確認して、自分でファイルを編集
  • コンフリクト部分には以下のような印が付きます:
<<<<<<< HEAD
自分の変更
=======
相手の変更
>>>>>>> main
  • 不要な記号を削除し、正しい形に整える

④ 解決の確定

  1. 編集を保存
  2. GitHub Desktop に戻り Mark as resolved をクリック
  3. Commit merge を押して解決を記録

4. チームでの注意点

  • コンフリクトは 誰か一人が解消すればよい(全員で直す必要はない)
  • 修正内容をよく確認して「正しい形」を話し合うことが大切
  • 小まめに Pull することで発生を最小限にできる

5. GitHub Desktop 運用のメリット

  • CLI コマンドを覚えなくても解決可能
  • 「Accept Current / Incoming / Both」で直感的に操作できる
  • どうしても難しい場合は VS Code でファイルを開いて編集 → GitHub Desktop に戻る流れが使える

まとめ

  • コンフリクトは「同じ部分を別々に修正したとき」に発生する
  • GitHub Desktop では「Accept」ボタンや手動編集で簡単に解決可能
  • 解決後は「Mark as resolved → Commit merge」で統合を完了
  • コンフリクトはチーム開発の一部なので、恐れず冷静に対処することが重要

訪問数 4 回, 今日の訪問数 1回