git merge の後、ファイルに <<<<<<< HEAD という行が現れた。何が起きた?
正答
- マージが完了し、変更箇所に印が付いた
- 両ブランチが同じ箇所を変更し、コンフリクトが起きた
- ファイルが壊れたので、元に戻す必要がある
- リモートのブランチが削除された
解説
<<<<<<<、=======、>>>>>>> はコンフリクトマーカーで、Git が自動で統合できなかった箇所を示す。マージはまだ完了しておらず、どちらの内容を残すか人が決めてマーカーを削除し、git add してから git commit で確定する。ファイルが壊れたわけではないが、マーカーを残したままコミットするとそのままソースに混ざってビルドが壊れる。中断したいときは git merge --abort で元に戻せる。
参考: git-scm.com
この問題を含む Git のテストを制限時間つきで解く
Gitクイズへ