Вопрос

Можно ли установить git вверх, чтобы я мог использовать трехпроходную сравнение в KDIFF3?

У меня есть две ветви, которые далеко слишком отличаются для автоматического объединения, мне просто нужно проверить каждую точку слияния, и я думаю, что лучший способ проверить ветку, я хочу изменения с другой ветки и сказать

git difftool HEAD_OF_OTHER_BRANCH -- .

А затем выберите файл Merge в KDIFF3. После прохождения файлов я просто совершил.

Я настроил Merge.conflickstyle и diff.conflickstyle для diff3, но kdiff3 по-прежнему начинается с двусторонней различий. Это возможно? Я думаю, если Git также посылает хеш общего предка в качестве параметра, это возможно, но делает это?

Есть обсуждение О том, как сделать это с SVN и BC3, но я не мог найти ничего для Git и KDiff3.

Это было полезно?

Решение

Похоже, что Git Diff делают только двустороннюю дифференциал (что имеет смысл генерировать патч и т. Д.), За исключением состояния слияния, вы должны сделать для этого. Я был в подобной ситуации на днях, и я закончил Mergin, используя ours Стратегия. Это работало, но не было идеальным. Может быть, нам нужна «нерешительная стратегия», которая не пытается разрешить любые конфликты. Возможно, вы сможете подражать этому, настраивая файлы .git / merge_ * и установите все файлы как противоречие.
В противном случае очевидное решение состоит в том, чтобы оформить заказ 3 разных каталога и запустить kdiff3, но я думаю, вы ищете более элегантное решение

Другие советы

Запустите это в командной строке:

git config --global mergetool.kdiff3.path /path/for/your/kdiff3/binary  

Затем при решении конфликтов вам просто нужно сделать:

git mergetool --tool=kdiff3
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top