マーカーの意味
<<<<<<< HEAD : 現在のブランチ(HEAD)の変更
======= : 変更の区切り線
>>>>>>> feature-branch : マージ元のブランチの変更
VSCodeでコンフリクトを解決する手順
ステップ1:コンフリクトが発生したファイルを開く
VSCodeのソース管理パネルを開くと、コンフリクトが発生したファイルに 「C」マーク が表示されています。
そのファイルをクリックして開きましょう。
ステップ2:VSCodeのボタンで解決する
VSCodeはコンフリクト箇所を色分けして表示し、解決用のボタンを表示してくれます。
太郎
迷ったら「Compare Changes」でまず差分を確認しましょう。内容を理解してから判断すれば安全です!
ステップ3:手動で編集する(必要な場合)
ボタンの選択肢だけでは対応できない場合は、手動でファイルを編集します。
コンフリクトマーカー(<<<<<<<、=======、>>>>>>>)を全て削除し、最終的な正しいコードだけを残します。
例えば:
コンフリクト発生時:
<<<<<<< HEAD
const greeting = "Hello, World!";
=======
const greeting = "Hi, Everyone!";
>>>>>>> feature-branch
手動で修正後:
const greeting = "Hello, Everyone!";
このように、両方の変更を組み合わせた新しいコードにすることも可能です。
ステップ4:解決をコミットする
コンフリクトを解決したら、以下のコマンドでコミットします:
# 解決したファイルをステージング
git add .
# マージコミットを作成
git commit -m "Merge conflict resolved"
VSCodeのソース管理パネルからも同じ操作ができます。
複数ファイルでコンフリクトが起きた場合
大きなマージでは、複数のファイルで同時にコンフリクトが発生することがあります。
1
コンフリクトファイルの一覧を確認
ターミナルで `git status` を実行すると、「both modified」と表示されたファイルがコンフリクトファイルです。
2
1ファイルずつ解決する
焦らず1ファイルずつ開いて、コンフリクトを解決していきます。
3
全て解決したらコミット
全ファイルの解決が終わったら、`git add .` → `git commit` でマージを完了します。
コンフリクトを予防する方法
- コンフリクト予防のベストプラクティス
-
- **こまめにmainブランチの変更を取り込む**(`git merge main` or `git pull origin main`)
- **小さい単位でコミット・マージする**(大きな変更を溜め込まない)
- **チームメンバーとファイルの担当を分ける**(同じファイルの同時編集を避ける)
- **変更前にpullする習慣をつける**
太郎
「毎朝mainをpullしてから作業を始める」を習慣にするだけで、コンフリクトは激減しますよ!
マージを中止したい場合
コンフリクトの解決が難しいと感じたら、マージを中止して元の状態に戻すことも可能です。
# マージを中止(コンフリクト発生前の状態に戻る)
git merge --abort
これで安全に元の状態に戻れます。落ち着いてから再チャレンジしましょう。
Gitをもっと使いこなしたいなら
コンフリクト解決ができるようになると、チーム開発で困ることが大幅に減ります。
- 関連記事
-
- [VSCodeでGitHubブランチを削除する方法](/blog/1652/)
- [git pullでブランチが最新にならない時の対処法](/blog/2220/)
- [git stashの使い方・作業を一時保存する方法](/blog/3325/)
- [VSCodeのGitHubコミット方法やpush取り消し方法](/blog/2033/)
Git操作を含めたプログラミング全体を体系的に学びたいなら、スクールの活用がおすすめです。
Git・プログラミングを体系的に学ぶなら
独学で限界を感じていませんか?プロのカリキュラムなら最短でスキルが身につきます。
※無料体験・無料カウンセリングあり
まとめ:コンフリクトは「怖い」から「慣れ」に変わる
今回は、VSCodeでgit mergeのコンフリクトを解決する方法を解説しました。
- コンフリクト解決の3ステップ
-
- VSCodeのボタン(Accept Current/Incoming/Both)で選択
- 必要に応じて手動でコードを編集
- `git add .` → `git commit` で完了
コンフリクトはGitを使う上で避けて通れないものです。しかし、仕組みと解決手順を知っていれば何も怖くありません。
何度か経験すれば、自然と「あ、またコンフリクトか」くらいの気持ちで対処できるようになりますよ!
プログラミングスキルをもっと伸ばしたい方へ
独学に限界を感じていませんか?
現役エンジニアのメンターがつくスクールなら、効率的にスキルアップできます。
コメント