Что такое хороший (бесплатный) инструмент визуального слияния для Git? (на окнах) [закрыто]

154

Подобный вопрос уже спросил, но для Ubuntu.

Было бы полезно узнать, является ли инструмент бесплатным, как в пиве или как в либер.

Кроме того, было бы неплохо узнать о взлете и падении инструмента.

Таль Галили
источник

Ответы:

73

В Windows хорошим 3- сторонним средством сравнения / слияния остается kdiff3 ( WinMerge , на данный момент, по-прежнему работает на 2-сторонней основе, ожидая WinMerge3)

Смотрите « Как вы объединяете в GIT на Windows? » И этот конфиг .


Обновление 7 лет спустя (август 2018 года): Артур Кендзиор упоминает в комментариях :

Если вы , ребята решили использовать Visual Studio (Community Edition бесплатно), попробуйте инструмент , который поставляется вместе с ним: vsDiffMerge.exe. Это действительно потрясающе и просто в использовании.

VonC
источник
1
Несмотря на благосклонность BC, я собираюсь проверить этот инструмент.
Прит Сангха
3
@Preet: BC остается лучшим;) Но для бесплатного инструмента (к тому же мультиплатформенного) kdiff3 неплох.
VonC
но это определенно не так уж и хорошо :) Мне легче использовать мой обычный редактор кода.
Warpzit
1
@Warpzit Я согласен, что есть немного кривой обучения, но я уже привык к этому;)
VonC
1
@ ArturKędzior Спасибо. Я включил ваш комментарий в ответ для большей наглядности.
VonC
72

Я также использовал Мелд . Это написано на питоне. Существует официальный установщик для Windows, который работает хорошо.

Установите его, а затем установите его в качестве стандартного mergetool.

$ git config --global merge.tool "meld"
$ git config --global mergetool.meld.path "C:\Program Files (x86)\Meld\Meld.exe"

Если вы используете GUI GIT-клиент, попробуйте следующее (инструкции для SourceTree измените соответственно)

  • В SourceTree перейдите в Инструменты / Параметры / Различия
  • В External Diff Tool, выберите Custom
  • Введите C:\Program Files (x86)\Meld\meld.exeв Diff Command и $LOCAL $REMOTEв аргументах
  • В Merge Tool, выберите Custom
  • Введите C:\Program Files (x86)\Meld\meld.exeв Diff Command и $LOCAL $MERGED $REMOTEв аргументах
Gordolio
источник
9
Спасибо, Мелд действительно хорош :) Это действительно ясно и легко увидеть, что происходит. Спасибо за размещение инструкции по установке. Я был бы потерян без них.
Даниэль Тонон
5
Если вы используете cygwin / babun, замените второй вариант на:git config --global mergetool.meld.path "/cygdrive/c/Program Files (x86)/Meld/Meld.exe"
tempestSA
1
+1 за конфиг git, я использовал его с P4Merge ниже:git config --global merge.tool "p4merge" && git config --global mergetool.p4merge.path "C:\Program Files\Perforce\p4merge.exe"
Марк C
@ Gordolio, есть ли "простой" или "низкий разрешающий" интерфейс для слияния? Графика немного слишком красивая , который полностью дроссели на больших файлах.
Pacerier
1
Я попробовал Мелда, и это было хорошо, с некоторыми хорошими визуальными эффектами, но в конце концов пошел на Beyond Compare, с оплатой, и был очень счастлив. Один минус Meld в том, что кнопки не дают описания наведения мыши. Другое - Beyond Compare предоставляет кнопки для перехода от одного различия к другому. Другой - Beyond Compare показывает пути к файлам в строке заголовка окна. Мелд был, конечно, «достаточно хорош», но я бы предпочел заплатить за Beyond Compare. (И я не имею никакого отношения к Beyond Compare).
Стивен Хоскинг
28

Я использую P4Merge , он бесплатный и кроссплатформенный.

P4Merge

Даниэль Литтл
источник
1
Это все еще бесплатно? Похоже, это не бесплатно вообще.
null_pointer
4
Да, все еще на 100% бесплатно, но их страница загрузки немного скрывает это.
Даниэль Литтл
8
Это бесплатно, как сказал Дэниел, но когда вы запускаете установщик, вам нужно отключить все параметры, кроме «Visual Merge Tool». В противном случае вам будет предложено подключиться к серверу Perforce. Прекрасно работает с SourceTree.
Джон
11
После установки сконфигурируйте как mergetool, используя:git config --global merge.tool "p4merge" && git config --global mergetool.p4merge.path "C:\Program Files\Perforce\p4merge.exe"
Mark C
1
Попытка выяснить, как скачать версию p4merge для Windows по вашей ссылке, кажется довольно сложной задачей. Я не вижу четкой ссылки на скачивание.
Artif3x
25

Я не знаю хорошего бесплатного инструмента, но с winmerge все в порядке . Я использую инструменты для сравнения с 1999 года и не могу оценить их достаточно - это стоит около 50 долларов США, и эти инвестиции окупили себя за счет экономии времени больше, чем я могу себе представить.

Иногда за инструменты нужно платить, если они очень хорошие.

Прит Сангха
источник
5
+1 за упоминание платных опций.
Eckes
1
Винмерге паршиво Пользовательский интерфейс затрудняет выделение слева направо.
Pacerier
1
Я использовал WinMerge в течение многих лет и думаю, что это здорово. Затем я переключился на git для контроля версий и мне нужен графический интерфейс для сравнения версий. Сначала я попробовал Meld для и нашел это хорошим, но без особенностей. Beyond Compare решил это для меня, и я очень рад заплатить за это.
Стивен Хоскинг
16
  • TortoiseMerge (часть ToroiseSVN) намного лучше, чем kdiff3 (я использую оба и могу сравнить );
  • p4merge (от Perforce) также работает очень хорошо;
  • Диффузный не так уж и плох;
  • У Diffmerge от SourceGear есть только один недостаток в обработке UTF8-файлов без BOM, что делает его непригодным для этого случая.
Ленивый Барсук
источник
TortoiseGitMerge на самом деле довольно хорош - я не знаю kdiff3, но никогда не был недоволен и ничего не пропустил в TortoiseGitMerge, он позволяет мне быстро и интуитивно выполнять как двух-, так и трехстороннее слияние.
mindplay.dk
@ mindplay.dk - TortoiseGitMerge (в большинстве своем) хороший TortoiseMerge под капотом
Ленивый барсук
TortoiseMerge не поддерживает dir-diff
andrew.rockwell
1

Еще один бесплатный вариант - jmeld: http://keeskuip.home.xs4all.nl/jmeld/

Это Java-инструмент, и поэтому его можно использовать на нескольких платформах.

Но (как упомянул Прит в своем ответе), бесплатное не всегда лучший вариант. Лучший инструмент сравнения / слияния, с которым я когда-либо сталкивался, - это Araxis Merge . Стандартная версия доступна за 99 евро, что не так много.

Они также предоставляют документацию по интеграции Araxis с msysGit.

Если вы хотите использовать бесплатный инструмент, JMeld очень близок к Araxis.

Экес
источник
Я также слышал много хорошего об Араксисе.
Прит Сангха
-1

Что не так с использованием Git For Windows? В представлении репо есть значок ветви, в которой вы находитесь (вверху), и если вы нажмете на «Управление», вы можете перетаскивать мышью очень наглядно и удобно.

user1553825
источник
7
Я думаю, что вопрос был о разрешении конфликтов слияния.
Лейф Грюнвольдт