Разрешить конфликт git merge без участия человека - PullRequest
1 голос
/ 05 апреля 2019

Можно ли выполнить git-слияние из 2 файлов с конфликтами только в определенных строках, не прибегая к человеческому вводу?

См., Например, ниже, есть ли какой-нибудь флаг опции для git-слияния, который можетзавершить это, не требуя дополнительного ввода от пользователя?

test1

line1

test2

line2
line3

test2 после слияния

line1
line3

Ответы [ 2 ]

0 голосов
/ 08 апреля 2019

Для языка с известной структурой вы можете попытаться разложить его на более мелкие элементы, чем строки, и избавиться от некоторых конфликтов. Есть некоторые проприетарные решения , которые рекламируются для этого (я не пробовал их).

Но для многих конфликтов невозможно решить их даже при таком подходе. Например, user1 добавляет лайк, а user2 добавляет еще одну строку в то же место. Какой из них должен идти первым? Это может решить только человек.

0 голосов
/ 05 апреля 2019

От: Автоматическое разрешение конфликта слияния


Как и в упомянутых комментариях, Git очень хорош в принятии решения о том, как собрать код.Возможно, вас заинтересуют варианты стратегии слияния.Вы можете запустить

git merge --strategy-option theirs или git merge --strategy-option ours

, чтобы отдать предпочтение либо источнику, либо месту назначения, когда дело доходит до конфликтов.Подробнее об этом читайте здесь:

Разрешить конфликты слияний Git в пользу их изменений во время вытягивания

https://git -scm.com / docs / merge-strategies

...