この記事では、Gitを使ったマージとコンフリクトの解決方法について、説明します。
Gitのマージ(merge)は、別々のブランチ(branch)を一つにまとめる操作です。ブランチとは、プロジェクトの作業ラインで、異なる機能やバグ修正などを並行して進めるために使います。マージを行うと、それぞれのブランチで行った変更を一つのブランチに統合できます。
まず、ブランチを作成しましょう。以下のコマンドを使います。以下のコードを入力して、自分の新しいブランチを作成してください。
git branch 新しいブランチ名
次に、新しいブランチに切り替えます。以下のコマンドを実行します。
git checkout 新しいブランチ名
1.マージを行うには、まず統合したいブランチに切り替えます。その後、git merge マージするブランチ名
を実行します。
git checkout main # mainブランチに切り替える
git merge 新しいブランチ名 # 新しいブランチの変更をmainにマージ
マージに成功すると、次のようなメッセージが表示されるでしょう:
Updating 34e91da..5f1e5a9
Fast-forward
file1.txt | 2 ++
file2.txt | 1 +
2 files changed, 3 insertions(+)
コンフリクト(衝突)は、同じファイルの同じ部分を異なるブランチで編集したときに発生します。Gitはどちらの変更を適用するべきかがわからないため、手動での解決が必要となります。
コンフリクトが発生すると、以下のようなメッセージが表示されます:
Auto-merging file1.txt
CONFLICT (content): Merge conflict in file1.txt
Automatic merge failed; fix conflicts and then commit the result.
次に、コンフリクトが発生したファイルを確認し、手動で修正します。ファイルを開くと、コンフリクトがある箇所に次のようなマークが表示されます:
<<<<<<< HEAD
(自分の変更内容)
=======
(他のブランチの変更内容)
>>>>>>> 新しいブランチ名
この間の部分を、適切に修正してください。修正が終わったら、以下のコマンドを実行してコンフリクトを解消します。
git add コンフリクトが解消されたファイル
git commit -m "コンフリクトを解決"