マージ中に「CONFLICT (content): Merge conflict in ...」と表示されました。Gitはどういう状態になりますか?
解説
正解と要点正解は「Gitが自動マージできず一時停止している状態。手動で競合箇所を修正し、解決を伝える必要がある」です。つまり、Gitが「自分では判断できないので、人間が決めてください」と作業を止めている状態になります。なぜその答えなのかGitはコードの安全性を非常に重視しています。そのため、他の選択肢のように「勝手に片方を優先する」「自動でリセットする」といった、予期せぬデータ喪失につながる操作は行いません。リポジトリが壊れたわけでもなく、単に開発者の手動による解決(コンフリクト解消)を待っているだけなのです。背景・仕組みコンフリクト(競合)とは、統合しようとしている2つのブランチで、同じファイルの同じ行がそれぞれ異なる内容に変更されていた場合などに発生します。このときGitは対象のファイル内に、どちらのブランチがどう変更したかを示す特殊な記号(コンフリクトマーカー)を直接書き込みます。具体的には、<<<<<<< や ====== といった記号です。実務での活用例実際の現場でコンフリクトが発生した場合、慌てずに以下のステップで解決します。git status コマンドで、どのファイルが競合しているか(both modified)を確認する。VS Codeなどのエディタで対象ファイルを開き、マーカー部分を確認して最終的に残したいコードに書き換える。修正後、git add で「解決したこと」をGitに伝える。git commit を実行して、マージを完了させる。<<<<<<< HEAD console.log('現在のブランチの変更'); ======= console.log('マージしてきたブランチの変更'); >>>>>>> feature-branch このように、コンフリクトはエラーや故障ではなく、チーム開発において日常的に発生する正常なプロセスの一部です。