GitHub Desktopでマージ競合を安全に解消する
この記事の結論
GitHub Desktopでマージ競合を安全に解消について、公式手順の分岐に沿って原因を限定し、データを保全したまま通常動作へ戻します。
一般的な切り分けガイドです。特定の不具合が現在発生しているという告知ではありません。
対象製品・影響範囲
- 製品
- GitHub Desktop
- 対象バージョン・条件
- GitHub Desktop for Windows and macOS
発生する症状
- Merge conflictsの一覧が表示される
- Continue mergeが押せない
原因・発生条件
競合ファイルをエディターで解決し、マーカーを除去してからDesktopでマージを継続します。
作業前の準備
- 作業前に現在ブランチ、マージ元、未コミット差分、競合ファイル一覧を記録・保全します。
- 変更は一項目ずつ行い、各段階で元の症状を再現して結果をメモします。
この操作の注意点
- 確認対象と無関係な設定やデータをまとめて削除しません。
- 診断記録には個人情報や認証情報を含めず、現在ブランチ、マージ元、未コミット差分、競合ファイル一覧のうち必要な範囲だけ共有します。
具体的な操作手順
Current branchとマージ元、競合ファイル一覧を確認し、未コミット作業が混在していないか見ます。
不明なら先にリポジトリ全体を複製して退避します。
Desktop上部のCurrent branchは取り込み先です。向きを逆にすると別ブランチへマージするため、開始前に履歴グラフとブランチ名を読みます。
[Open in Visual Studio Code]等で各ファイルを開き、Current、Incoming、両方、手編集から意図する内容を選びます。
<<<<<<<、=======、>>>>>>>はGitの境界なので最終内容から全て除きます。
VS CodeのAccept Bothは単純連結です。同じ関数や設定キーが両側にあれば重複するため、マーカー除去後に意味の通る一つの実装へ編集します。
ファイルを保存し、テストや構文検査を実行します。生成物だけを直さず対応するソースも確認します。
バイナリ競合はテキスト結合せず正しい片方を選びます。
Desktopの競合一覧でチェックが消えても、構文が正しい保証ではありません。プロジェクト固有のテスト、lint、ビルドを実行します。
Desktopへ戻り全競合がresolvedになったことを確認し、[Continue merge]でマージコミットを作ります。
履歴と差分を読み、意図しない大量削除がないことを確認してからPushします。
Continue merge後は通常のコミット同様にローカル履歴へ入ります。Push前ならHistoryと差分を再確認でき、誤りを外部へ公開せず修正できます。
改善したか確認する
- テスト成功後にHistoryでマージコミットの親とFiles changedを確認する
- 問題の操作以外の基本機能も確認し、修正による副作用がないことを確かめます。
改善しない場合・設定を戻す場合
- 解釈できない競合はAbort mergeし、変更を退避してレビュー担当者と再実行する
- 回避策で作業を続ける場合も、原本やアカウントデータを別の場所へ保全します。
このガイドの適用範囲
対処ガイド — GitHub Desktopでマージ競合を安全に解消について、公式手順の分岐に沿って原因を限定し、データを保全したまま通常動作へ戻します。
掲載内容は2026-09-05の情報確認に基づきます。以降の変更は公式出典でご確認ください。
よくある質問
Abortできますか?
未解決中はDesktopのAbort mergeで開始前へ戻せますが、その後の編集は退避してください。
両方を選べば安全ですか?
重複や矛盾が残るため、選択後に手動で最終形を検証します。
出典・情報の更新
- 主な出典の更新・解決日
- 公式ページで日付を特定できないため記載していません
- 本サイトの確認日
- 2026-09-05
公式情報を日本語で整理しています。メニュー名は製品の表示言語や版によって異なる場合があります。確認日は障害の発生日を意味しません。編集方針