マージコンフリクトの解決
メニューを表示するにはスワイプしてください
コンフリクトの解消
前の章でマージコンフリクトが発生したため、ここで解消を行う。
まず、次のコマンドを使って Vim エディタで branch_learning.txt ファイルを開く。
Vim がインストールされていない場合は、vim を他のエディタ名(nano や atom など)に置き換えてコマンドを実行できる。
ただし、ここで示す手順と合わせやすくするため、Vim の使用を推奨。
以下は Vim エディタでファイルを開いた状態。
現在、コンフリクトマーカーが表示され、競合しているセクションが示されています。 これらのマーカーは、矢印や特殊記号を使ってブランチ間の違いを強調します:
<<<<<<< HEAD: 現在のブランチ(master)の変更の開始を示す=======: 現在のブランチ(HEAD)の変更とマージ対象ブランチの変更を区切る>>>>>>> feature/new-feature: マージ対象ブランチの変更の終了を示す
コンフリクトを解決するには、次のいずれかの方法を選択します:
- 現在のブランチ(
master)の変更を保持 - マージ対象ブランチ(
feature/new-feature)の変更を保持 - 手動で編集して内容を調整
両方のブランチの変更を組み合わせて手動でファイルを編集する場合は、以下の手順に従います:
1. 編集モードに入る
まず、Vimでiキーを押して挿入モードに入ります。
これでテキストの編集が可能になります。
2. コンフリクト部分の編集
次に、両方のブランチからの行を順番に結合。 ファイルの最終的な内容は次のようになります。
3. 編集モードの終了、保存、終了
Escapeキーを押して挿入モードを終了。
その後、:wqと入力し、Enterを押して変更を保存し、Vimを終了。
ファイルのコミット
コンフリクトが解消されたので、branch_learning.txt ファイルをステージングエリアに追加し、ステータスを確認。
ファイルが変更され、正常にステージングエリアに追加されました。 次に、コミットを実行します。
再度、デフォルトのテキストエディタ(この例ではVim)が開き、マージに関するデフォルトのコミットメッセージが表示されます。
Vimで挿入モードに入るには、iを押し、次にメッセージを修正して
Kept lines from both branches
という行を追加し、コンフリクトの解決方法を記述。
以下が完全なコミットメッセージ:
挿入モードを終了し、変更を保存してVimを閉じるには、Escapeキーを押し、:wqと入力してEnterを押す。
コミットが成功し、マージコンフリクトが解消されました。
次に、コミット履歴をグラフ(--graphフラグ)で、コミットごとに1行(--onelineフラグ)で確認します。
ここでは、最新のマージコミットと三者間マージの特徴的な構造を確認できます。
フィードバックありがとうございます!
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください