Gitのブランチマージで発生するコンフリクトを解決する方法

Gitのブランチをマージすると、別々のブランチで開発されたコードを統合して新しいブランチに結合することができます。 ブランチマージには次のコマンドを使います。

git merge <ブランチ名>

コンフリクト発生時

以下ではGitでブランチをマージする際に発生するコンフリクトの解消方法について解説します。Gitでマージを行うときにコンフリクトが発生することはよくあることですが、本記事を参考にしっかりと対処することでスムーズにマージを完了することができます。

コンフリクト発生時は次のようなメッセージが表示されます。

Auto-merging <ファイル名>
CONFLICT (content): Merge conflict in <ファイル名>
Automatic merge failed; fix conflicts and then commit the result.

この状態でgit statusコマンドを実行すると、次のようにUnmerged pathsが表示されます。

On branch master
You have unmerged paths.
  (fix conflicts and run "git commit")
  (use "git merge --abort" to abort the merge)

Unmerged paths:
  (use "git add <file>..." to mark resolution)
        both modified:   <ファイル名>

コンフリクトの解消方法

  1. エディタなどを使ってコンフリクトの発生したファイルを修正する
  2. 次のコマンドを実行し、コンフリクトしているファイルをステージングする
    git add <ファイル名>
    
    この状態でgit statusコマンドを実行すると次のように表示される
    On branch master
    All conflicts fixed but you are still merging.
    (use "git commit" to conclude merge)
    
  3. 全てのコンフリクトファイルを修正・ステージングしたら、次のコマンドを実行してマージを完了する
    git commit
    

    または

    git merge --continue
    

ブランチのマージ後

マージしたブランチが不要なら削除します。

このエントリーをはてなブックマークに追加
にほんブログ村 IT技術ブログへ

関連コンテンツ

スポンサードリンク

コメント

メールアドレスが公開されることはありません。 が付いている欄は必須項目です