Как указано в названии. Я пробовал искать это, но не нашел для этого объяснений, поэтому я посмотрел документацию kdiff3, которая дала некоторое представление. Ситуация, с которой я сталкиваюсь, - это слияние из одной ветки в другую, получение кучи конфликтов и использование git mergetool для их решения по одному. Что происходит, так это то, что для некоторых файлов при запуске kdiff3 появляется диалоговое окно с конфликтами с автосогласованием и отсутствием конфликтов, поэтому я сохраняю файл и продолжаю.Почему git создает конфликты во время слияния, которые автоматически разрешаются большинством инструментов слияния, таких как kdiff3?
Согласно документации kdiff3, конфликты автоматически разрешаются, если строка была изменена только в одной версии файла. То есть. база такая же, как у локального или удаленного файла, но не для обоих.
Мой вопрос: если мой инструмент слияния может автоматически разрешить это (я пробовал несколько, и все они автоматически разрешают некоторые конфликты), и действительно кажется логичным, что он делает, почему я даже получаю конфликт от git ?
Следующий вопрос: как я могу заставить git автоматически разрешать эти конфликты, прежде чем я даже открою свой инструмент слияния?
Примером может быть:
base:
line 1
line 2
line 3
local:
line 1
line 2
line 3
remote:
line 1
line abc
line 3
Я думаю, что вышеуказанные конфликты в Git, но автоматически решен в kdiff3. Хотя это может быть другой случай, я сделал слияния, которые были автоматически разрешены раньше, не может запомнить точный сценарий, поскольку он автоматически разрешен.
Я не знаком с git, но может быть полезно привести здесь пример, а для людей, знающих этот материал, было бы проще объяснить «почему». – maxim1000
обновленное описание – Coder
Я никогда не видел, чтобы Git обеспечивал поведение, которое вы описываете. Можете ли вы уточнить? Или предоставить сценарий для воспроизведения? –