私のアプリの 1 つで、ブランチ/マージの実装を考えていました。いくつかのシナリオで競合なしでマージする方法がわかりません。これを例に取りましょう。
ルートはいくつかのコードを記述します。A、B、C が彼から引っ張ってきて機能を追加します。C が完了したので、A と B はそこからプル/マージします。ルートをベースとしてCと比較することで機能すると思います。ここで、A と B はさらに機能を記述して終了します。
A からプルしてから B からプルするとどうなりますか? それらのベースはルートであり、どちらも C からプルされているため、同じ行が編集されています。競合かどうかはどのようにわかりますか? C が書いた行を編集してから B からプルするとどうなりますか? それは衝突になると思います。私の最後の質問は、C からプルした後に A と B が関数の場所をシャッフルするとどうなるかということです。私は今、差分認識がどれほど優れているかにかかっていると思いますが、競合なしでAとBの両方からどのように引き出すことができるかはわかりません