Я проверил ветку, и я хочу объединить мастер. Филиал находится за мастером, так как мастер не был объединен с этой веткой через две недели, поэтому я хочу использовать все изменения от мастера.Git merge -X их не объединяет все изменения
я сделать следующее:
git merge -s recursive -X theirs master
По большей части она сливается, но есть по крайней мере пару мест, где конфликты не из них.
Например, есть одна строка:
#import "VMVideo_Private.h"
Это было взято из мастера в какой-то момент в течение последних двух недель, но так как эта отрасль не были объединены в последние две недели он все еще там в отрасли.
После слияния с использованием theirs
он все еще там.
Кроме того, если я пытаюсь объединить вручную с помощью всего:
git merge master
Данный конфликт не приходит вообще.
Это, похоже, предназначено для повторной настройки 'cur', чтобы точно соответствовать' master'. Это не слияние, это clobber (a la 'git merge -s ours', который также является clobber, но в другом направлении). Если вы хотите, чтобы слияние слияния в направлении «их», это легко сделать в одном коммите, хотя требуется несколько команд git. – torek
Нет. Это необходимо для настройки * cur * на **, содержащего ** все в * master *. – zsong
Как бы вы отличали «содержать все» от «точно совпадают» (кроме конца строки белого пространства)? Например, предположим, что 'cur' имеет файл' new.txt', который не существует в 'master'. 'Git diff ... | git apply' будет * удалить * new.txt. Очевидно, я должен затем выполнить и зафиксировать результат применения, но как только я это сделаю, 'cur' теперь соответствует' master'. – torek