Git merge - тривиальное слияние? - PullRequest
1 голос
/ 24 сентября 2010

Если базовый и исходный файлы имеют одинаковое содержимое файла, а целевая ветвь / репо имеет некоторые другие изменения файла, какое содержимое он сохраняет, исходный или целевой файл?

Для подробного объяснения

       A 
       | 
       B 
      / \
     C   D 

Предположим, что файл был добавлен на ребре A-> B, а затем снова удален в B-> C, в то время как он остался один на ребре B-> D.
Мыхотите объединить C и D.

Если общим предком является A, у которого нет изменений (поэтому A, C не имеет файла & B, D имеет файл) при объединении C и D.

Что произойдет, если C (пункт назначения) сойдет с D?

Что произойдет, если D (пункт назначения) сойдет с C?

1 Ответ

5 голосов
/ 24 сентября 2010

Слияние является симметричным (кроме того факта, что слияние заканчивается на одной ветви или другой). Он будет применять изменения с обеих сторон и сообщать о любых конфликтующих изменениях, с которыми он сталкивается в процессе. В этом случае, поскольку только одна сторона имеет изменения, конечный результат будет выглядеть идентично стороне, которая имеет изменения.

Кроме того, вы можете попробовать эти операции довольно безопасно, чтобы увидеть, что они будут делать; если дела идут грушевидными, просто отмени . Обязательно обратите внимание на предостережения в нижней части связанной статьи.

...