ベストアンサー1
操作の種類によって異なります(マージまたはリベース) が原因で競合が発生します。Git
で競合を解決しようとする場合、通常は次の 2 つの変更セットを扱います。
現在のブランチからの変更: 多くの場合、現在作業中またはチェックアウトしたブランチです。説明では、これは「持っているもの」または「マージ先」と表現されます。
受信ブランチからの変更: 現在のブランチにマージしようとしているブランチ (マージ中)、または別のブランチの上に適用しようとしているブランチ (リベース中)。これが「マージ対象」または「マージのソース」です。
さて、VSCode の競合解決オプションのコンテキストでは、次のようになります。
受信した変更を承認: これにより、現在のブランチ ("現在持っているもの") からの競合する変更が破棄され、受信ブランチ ("マージしたもの") からの変更が保持されます。
現在の変更を受け入れる: これにより、現在のブランチ ("現在持っているもの") からの競合する変更が保持され、受信ブランチ ("マージしたもの") からの変更が破棄されます。
理解しておくことは重要です中にリベース「現在のブランチ」と「受信ブランチ」の役割は本質的に逆になります。リベースでは、現在のブランチが新しいブランチの上に適用されます。そのため、競合が発生した場合は、次のようになります。
- 「現在の変更リベース中の「 」は、リベース先のブランチ(通常はベース ブランチ)を参照します。
- 「今後の変更リベース中の「 」は、リベースしようとしているブランチ(別のブランチに適用しようとしている変更)を参照します。