これは基本的に、マスター上の大規模なクラス C が 2 つの小さなクラス C1 と C2 にリファクタリングされた結果です。その後、C は C2 のサブクラスになり、下位互換性のためにスケルトン バージョンに削減されました。その時点から、マスターには C、C1、C2 が含まれていました。そのマスター コミットで git は、C の名前が C1 に変更されたと述べました。ブランチは、これが発生する前に最後に更新されました。(関係するファイルを視覚化するのに役立つ場合は、すべての C++ コード)
明らかに、ブランチを master にリベースしようとしたときに、解決する必要のある競合がありました。
いつものように、mergetool を使用しました。
したがって、mergetool は次のように表示されます。ローカルでは、C のスケルトン バージョンを使用しています。ベースとリモートでは、C に多くの変更が加えられています。
C のスケルトン バージョンは Local に存在するため、Base と Remote からの変更は実際には C1 に入り、C はそのままにしておく必要があると結論付けました。
私の質問は、どうすればいいですか?