Что такое A, B и C в слиянии KDIFF

Почему я даю три варианта при слиянии моего кода с чужим? Разве не должен быть только мой код, код другого человека и выход ниже? Документация для KDIFF не помогает мне понять.

Ответ 1

Похоже, вы делаете трехстороннее слияние, поэтому A должна быть базовой версией, на которой основаны B и C, B является их, а C является вашим (я верю, B и C могут быть противоположными, хотя).

Ответ 2

A относится к версии, на которой основана ваша цель слияния. Если вы слияете из ветки в магистраль, "A" будет предыдущей версией внешней линии.

B - это то, что вы в настоящее время имеете в своей локальной папке, включая локальные изменения.

C - это версия, которую вы хотите объединить поверх B.

Ответ 3

A - это ваша родительская версия с B и C как дочерняя.
Что означает, что B содержит изменения, сделанные на A с помощью user1/repo1, а C также содержит изменения на A, но другим пользователем (user2/repo2)

kdiff дает вам возможность выбрать модификацию из b или c (или взять оба) или из родителя также "A"

Ответ 4

A (BASE) & dash; & dash; > Исходный файл, который сейчас находится в удаленном репо.
B (LOCAL) & dash; & dash; > Ваш файл. Это показывает только ваши изменения по сравнению с A.
C (REMOTE) & dash; & dash; > Их файл. Это показывает только их изменения по сравнению с A.

Если изменения находятся на разных строках кода, вы берете как из B, так и из C. Если изменения находятся на одинаковых строках кода (конфликт), вы берете либо из B, либо из C.