公開日2025.09.24
最終更新日2025.09.24
こんにちは、ピピよです。第4作目。【初心者向け】VSCodeとGithubの連携 for Windows 最後の記事になります。
前作までの記事はこちら
今回は
- 競合が起きてしまったら…
- 競合時の2つの表記名について
- 競合を解消する手順
を見ていきましょう。
競合が起きてしまったら…
前作の最後で軽く触れたのですが、同じファイルを編集していると「競合」という状態になる可能性があります。
競合状態が解消するまで、その後の操作が制限されてしまいます。
変更内容を確認して、競合を解消していく必要があります。
Point:競合とは
GitHub Docs では以下のように書かれています。
競合するコミットを持つブランチをマージしようとしたときに生じるもので、最終のマージにどちらの変更を取り入れるかを Git が判断するのに手助けが必要になります。
GitHub Docs|マージ競合について
別のブランチで同じファイルの同じ場所を編集した時、ブランチをマージしようとするとGitはどちらのブランチの変更を採用すればよいのかわからず「競合」という判断をします。
競合時の2つの表記名について
二つのブランチをマージしようとした時に、競合が発生します。
この時、現在作業しているブランチ(チェックアウトブランチやカレントブランチとも言います)を別のブランチとマージしようとしているわけです。
競合を解消する操作時、この2つのブランチにはそれぞれ呼び名があります。
| ブランチ名 | 競合操作時の表記名 |
|---|---|
| 現在作業しているブランチ (またはチェックアウトブランチ、カレントブランチ) | <<<<<<< HEAD(現在の変更) |
| 別のブランチ | {ブランチ名}(入力側の変更) |
マージの際、作業しているブランチを「現在の変更」、マージしている作業していない別のブランチを「入力側の変更」というように表記されています。


競合を解消する手順
ここからは、競合の解消方法を説明していきます。
前作と同様に、VSCodeに入れてあるプラグイン「Git Graph」を活用します。
競合場所の確認
1、マージ実行
前作の「マージの手順:2、マージ実行後」をご確認ください。
2、競合発生
競合を起こすと「Error:Unable to Merge Commit」の画面が表示される


「Dismiss」で画面を閉じる
※画面を閉じたからと言って競合は解消されませんので注意
3、ソース管理を開く
ソース管理ボタンをクリックしてソース管理のウインドウを開く
変更のウインドウには、「変更のマージ」と「ステージされている変更」の項目が表示されている。
「変更のマージ」の項目が競合を起こしているファイルです


変更のマージ内のファイルをクリックすると、競合の詳細を確認することができます。
競合している箇所は画像のように、緑と青の枠が表示されています。


競合内容の確認
緑(上側)の枠は作業しているブランチ「現在の変更」を、青(下側)の枠はマージしている作業していない別のブランチ「入力側の変更」です。同じ場所で異なった修正をしていると競合が起こります。


2つの変更内容を比較して、どちらか一方を残すか、両方残すか、じっくり比較して対応を考えるのかを決めます。
競合の解消
競合の解消方法は3パターンあります。
- どちらか一方を残す場合
- 両方を残す場合
- 比較して考える場合


競合している箇所の左上の部分、「現在の変更を取り込む」「入力側の変更を取り込む」「両方の変更を取り込む」「変更の比較」のボタンで操作します。
1.どちらか一方を残す場合
どちらか一方を残す場合は、「現在の変更を取り込む」か「入力側の変更を取り込む」をクリックします。そうすると片方の変更内容が反映されてもう片方は削除されます。
競合が解消されると、競合を表す緑と青の枠はなくなります。最後にファイルを「保存」をします。


2.両方を残す場合
両方残す場合、「両方の変更を取り込む」をクリック。そうすると、両方の変更内容が残ります。あとは1の手順と同様に、ファイルを「保存」します。
3.比較して考える場合
内容を比較してどの変更内容を残すか決めたい時は「変更の比較」をクリックします。変更を細かく確認します。1の手順と同様に、ファイルを「保存」します。
再度ステージングしてプッシュ
ファイル内のすべての競合の解消が完了したら、ソース管理ボタンをクリックしてソース管理のウインドウを開きます。競合が解消していれば、ステージングが可能になるので「変更のマージ」の内容をすべてステージングします。
ステージングの方法は、こちらの記事
の 「②操作方法:2、ステージングとコミット」をチェック
「続行」をクリック。
つづけて「変更の同期」をクリックします。


これで競合の解消は完了です。
まとめ
WindowsのVSCodeとGithubの連携について、順番に説明していきました。
ご自身の環境でぜひ試してみてください。最後まで読んでいただきありがとうございました!


