第4章 任意:変更がぶつかったら くわしく
任意:変更がぶつかったとき
同じ行を別々に変更したとき、Gitは勝手に選びません。区切り記号を読み、残す内容を決める手順を学びます。
- GIT
- 入門
- 図解
この章は後回しで大丈夫
別案を試すと共有するを読んだ人向けの任意教材です。ここでは挨拶の一行を二人が別々に直した例を見ます。新しい操作を暗記せず、「Gitでは決められない内容を、人が相談して決める」と分かれば十分です。
競合は相談するための停止
マージは、別のブランチの変更を取り込む操作です。同じ場所を別々に変えていると、自動では決められず競合になります。
実際に試す前に、未コミットの作業を整理します。大切な変更を抱えたままマージを始めないようにしましょう。
両方の変更を読む
この例ではmainとexperimentの両方が、共通の記録から進んでいます。別案の図解とは違い、取り込む側にも新しい変更があります。
同じ行の変更を解決する
このブラウザー内だけで動きます。実際のファイル変更・通信・AWS利用・課金は発生しません。
こんにちは
こんばんは
こんにちは
共通の文章「ようこそ」を、それぞれ別の文章に変更・コミットした状況です。
1 / 4図解の全手順を文章で読む
開始
共通の文章「ようこそ」を、それぞれ別の文章に変更・コミットした状況です。
- mainの案:こんにちは
- experimentの案:こんばんは
- 作業ファイル:こんにちは
git merge experiment
同じ行の変更なので自動決定できません。競合は、残す内容を人が確認するための停止です。
- mainの案:こんにちは
- experimentの案:こんばんは
- 作業ファイル:<<<<<<< HEAD こんにちは ======= こんばんは >>>>>>> experiment
内容を相談して編集
この例は双方を残して「こんにちは。こんばんは。」にします。区切り記号も消します。
- mainの案:こんにちは
- experimentの案:こんばんは
- 作業ファイル:こんにちは。こんばんは。
git add → git commit
相談して決めた文章を、新しい区切りとして記録しました。採用中の案は組み合わせた文章になり、別案の記録はそのまま残ります。
- mainの案:こんにちは。こんばんは。 (相談した内容を採用)
- experimentの案:こんばんは (別案の記録は変わらない)
- 作業ファイル:こんにちは。こんばんは。
実際の画面で確認する順番
git statusで競合したファイルを確認します。- ファイルを開き、両方の文章を読みます。HEAD側は今いるブランチ、もう一方は取り込む側です。
- 共同作業者と相談し、必要な内容に編集します。
<<<<<<<、=======、>>>>>>>も消します。 - 動作や文章を確認してから、そのファイルを
git addします。 - statusで未解決がないか確認し、
git commitでマージを記録します。
片方を必ず消す必要はありません。上の例のように組み合わせることもあります。記号を消しただけでは内容の正しさは保証されません。
今は解決できないとき
マージ途中なら git merge --abort で開始前へ戻す方法があります。ただし、開始時に未コミット変更があると完全に戻せないことがあります。
自分の作業を別途保全し、現在のstatusを確認してから判断してください。分からないときは、強制pushやhard resetで上書きせず、状況を相談します。
振り返る
commitは手元の記録、pushはリモートへの送信、mergeは履歴の合流です。まずは最初の図解の「区切りを残す」に戻って振り返れます。
公式資料と確認日
確認日:2026年10月31日。図解は学習用に簡略化しています。