Day 3・ブランチと実務フロー — チームで壊さず進める
コンフリクトは怖くない — どちらを残すか選ぶだけ
同じ場所を別々に編集してぶつかるのがコンフリクト。落ち着いてどちらを残すか選べばよいこと、困ったらAIに貼って相談できることを学び、安全に試せる土台の完成を確認する。
コンフリクト=「同じ場所を、別々に直した」だけ
コンフリクト(衝突)は、二人が同じファイルの同じ行を、それぞれ違う内容に書き換えたときに起きます。Gitは「どっちを正しいとしていいか自分では決められない」ので、あなたに「どっちを残す?」と聞いてくるだけです。エラーというより、判断のお願い。落ち着いて選べば必ず解決できます。
たとえるなら、二人が同じ1枚の紙の同じ行に、違う文章を書き込んでしまった状態です。清書する人は「AさんとBさん、どちらの文にする? それとも両方を合わせる?」と決めるだけ。Gitはその「決める材料」を、記号で目印を付けて見せてくれます。
# merge しようとしたら衝突が起きた例
git merge feature/login
# CONFLICT (content): Merge conflict in app.js
# Automatic merge failed; fix conflicts and commit the result.
# どのファイルがぶつかっているか確認
git status<<<<<<< HEAD
const greeting = "こんにちは";
=======
const greeting = "Hello";
>>>>>>> feature/login- 落ち着く。コンフリクトは壊れたのではなく、選択を求められているだけ。
- <<<<<<< と ======= と >>>>>>> に挟まれた部分を見て、どちらを残すか(または両方をどう合わせるか)決める。
- 目印の記号を消して、残したい形にファイルを整える。
- git add でその解決を確定し、git commit で合流を完了する。
記号の消し忘れに注意
<<<<<<< や ======= や >>>>>>> は、あくまで目印です。解決したら必ず消してください。消し忘れたままコミットすると、その記号ごとコードに残ってしまい、動かなくなります。
AIにはこう聞く
「git merge でコンフリクトが出ました。<<<<<<< から >>>>>>> までの部分をそのまま貼るので、それぞれが何を意味しているか説明して。両方の意図を活かすなら、どう直せばいいかも教えて」
これで「安全に試せる土台」が完成
コミットで記録し、ブランチで隔離し、PRでレビューし、コンフリクトも落ち着いて解ける。ここまで来たあなたは、もう「壊しても戻せる」状態でGitを使えます。AIに大胆にコードを書かせても、いつでも戻れる・説明できる。これがAI時代に安心して速く進むための土台です。よくここまで走りきりました。あとは実際に手を動かしながら、少しずつ慣れていくだけです。
読んでも腑に落ちない所は、AIに噛み砕いてもらいましょう。
理解度チェック
答えられれば、面接で説明できる状態に一歩近づきます。
コンフリクト(衝突)が起きるのはどんなとき?
コンフリクトが出て焦っている初心者の同僚に、どう声をかけて何をすればよいか説明してください。
記述式です。まず自分の言葉で答えを考えてから、模範解答を開いて自己採点してください。