Menu
Coddy logo textTech

コンフリクトの解消

CoddyのTerminalジャーニー「バージョン管理」セクションの一部 — レッスン 38/58。

中断することが適切な判断である場合もありますが、ほとんどの場合は、実際にコンフリクトを解決してマージを完了させたいはずです。

コンフリクトの解消は、3つのステップからなる儀式です:

  1. 競合が発生したファイルを開きます。マーカーブロックを、使用したいバージョン(またはそれらの組み合わせ)に置き換えます。
  2. 解決したファイルを git add でステージングします。
  3. git commit でマージを完了させます。

スクリプトを使用して、解決済みの内容でファイルを直接上書きすることができます。これは、このレッスンでまさに行うことです(エディタは不要です)。

解決済みのファイルを git add するのを忘れると、コミットは失敗し、ファイルがまだ未マージとしてマークされていることが通知されます。

challenge icon

チャレンジ

中級

notes.txt で、前のレッスンとまったく同じようにコンフリクトを発生させます:

  • main ブランチで、内容を hello として最初のコミットを行います
  • alt ブランチで:内容を hi from alt に変更し、コミットします
  • main ブランチに戻り:内容を hi from main に変更し、コミットします
  • git merge alt を実行します(コンフリクトが発生します)

notes.txthi from both という行で上書きしてコンフリクトを解消します。ファイルをステージングし、Resolve notes というメッセージでマージを完了させます。notes.txt の最終的な内容を出力してください。

チートシート

マージコンフリクトを解決するには:

  1. コンフリクトが発生したファイルを編集します。コンフリクトマーカーを削除し、必要な内容を残します。
  2. 解決したファイルをステージングします:git add <file>
  3. マージを完了します:git commit
git add notes.txt
git commit -m "Resolve conflict"

git add をスキップすると、ファイルが未マージとしてマークされたままになり、コミットは失敗します。

自分で試してみよう

ターミナル
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

バージョン管理のすべてのレッスン