自分のコードと他の人のコードをマージするときに 3 つの選択肢が与えられるのはなぜですか? 私のコード、他の人のコード、および以下の出力があるべきではありませんか? KDIFF のドキュメントは理解に役立ちません。
5 に答える
Aは、マージ ターゲットが基づいているバージョンを指します。ブランチからトランクにマージする場合、「A」は以前のトランク バージョンになります。
Bは、ローカルの変更を含む、ローカルのトランク フォルダーに現在あるものです。
Cは、B の上にマージするバージョンです。
3 方向のマージを行っているように聞こえるので、A は B と C が基づいているベース リビジョンである必要があります。
A は、 B と C を子として持つ親リビジョンです。
つまり、B にはuser1/repo1
によって A に対して行われた変更が含まれており、C にも A に対する変更が含まれていますが、他のユーザー ( user2/repo2 )によって行われています。
kdiff は、b または c (または両方を取る) から変更を選択するか、親からも 'A' から変更を選択するオプションを提供します。
私が行った場合git rebase
、私の観察は次のとおりでした: C - my_branchがローカルにあるものです (つまり、リベースが開始されて競合が発生する前にエディターで見られました)。B - my_branchをリベースしていたブランチ (たとえば master ブランチなど) A - B と C のベース リビジョン (この場合はあまり重要ではありませんでした)