Можно ли использовать Meld в качестве инструмента для слияния при использовании на Windows?Git Extensions и Meld merge
ответ
В Git Extension: Настройки -> Git Config
Merge tool: meld
Path to mergetool: C:/Program Files (x86)/Meld/Meld.exe
Merge tool command: "C:/Program Files (x86)/Meld/Meld.exe" --diff "$BASE" "$LOCAL" "$REMOTE" --output "$MERGED"
Да, это в ответ на this issue.
meld - это diffiffool по умолчанию, но не по умолчанию mergetool. Этот билет все еще открыт с 2016-05-09 – cori
@cori, вы правы. Я соглашусь с ответом Томаша, поскольку это более полезно, если вы ищете слияние, а также diff. –
Этот ответ является правильным. Другой ответ не сохранит результат слияния/изменения в ваш фактический файл рабочей области!
В Git Extension: Настройки -> Git Config
Mergetool = meld (just type it in, don't use the combo)
Path to mergetool = </path/to/Meld.exe>
Mergetool command = </path/to/Meld.exe> \"$LOCAL\" \"$BASE\" \"$REMOTE\" --output \"$MERGED\"
Я изо всех сил, чтобы получить Meld работать с GitExtensions, пытаясь предыдущий ответ & связанные сообщения.
Это пересмотренный ответ - я ранее размещал в командной строке «git mergetool», но это не предлагало чистого 3-стороннего слияния с предком; вместо этого центральная панель показывала маркеры конфликта.
См. Также мой комментарий GitHub на GitExtensions feature-request, обсуждая это.
Как и Томас, принятый ответ не совсем сработал для меня. Объединенный файл не был сохранен после закрытия meld. Однако ответ Томаса тоже не работал для меня. Пока файл сохранялся, он был открыт в Meld с объединенной разметкой.
Вместо этого я использую командную строку, которую я использовал с Sourcetree. Вот что сработало для меня.
Mergetool command = </path/to/Meld.exe> \"$LOCAL\" \"$BASE\" \"$REMOTE\" --output=\"$MERGED\" --auto-merge
Этот ответ не сохраняет объединенные файлы для меня, и не так, как «git mergetool» запускает Meld. См. Мой ответ ниже, который использует git способ его запуска и сохранения. –