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

133

A аналогичный вопрос уже задан, но для Ubuntu.

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

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

Теги:
merge
version-control

7 ответов

64
Лучший ответ

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

См. " Как вы объединяетесь в GIT в Windows? " И эту конфигурацию.


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

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

  • 1
    Несмотря на одобрение BC, я собираюсь проверить этот инструмент.
  • 3
    @Preet: BC остается лучшим;) Но для бесплатного инструмента (к тому же мультиплатформенного) kdiff3 неплох.
Показать ещё 10 комментариев
64

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

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

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

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

  • В SourceTree откройте Tools/Options/Diff
  • В приложении External Diff Tool выберите Custom
  • Введите C:\Program Files (x86)\Meld\meld.exe в команду Diff и $LOCAL $REMOTE в аргументах
  • В Merge Tool выберите Custom
  • Введите C:\Program Files (x86)\Meld\meld.exe в команде Diff и $LOCAL $MERGED $REMOTE в аргументах
  • 9
    Спасибо, Мелд действительно хорош :) Это действительно ясно и легко увидеть, что происходит. Спасибо за размещение инструкции по установке. Я был бы потерян без них.
  • 5
    Если вы используете cygwin / babun, замените второй вариант на: git config --global mergetool.meld.path "/cygdrive/c/Program Files (x86)/Meld/Meld.exe"
Показать ещё 5 комментариев
28

Я использовал P4Merge, это бесплатная и перекрестная платформа.

Изображение 7332

  • 1
    Это все еще бесплатно? Похоже, это не бесплатно вообще.
  • 4
    Да, все еще на 100% бесплатно, но их страница загрузки немного скрывает это.
Показать ещё 6 комментариев
24

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

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

  • 5
    +1 за упоминание платных опций.
  • 1
    Винмерге паршиво Пользовательский интерфейс затрудняет выделение слева справа.
Показать ещё 1 комментарий
15
  • TortoiseMerge (часть ToroiseSVN) намного лучше, чем kdiff3 (я использую оба варианта и могу сравнивать);
  • p4merge (от Perforce) работает очень хорошо;
  • Diffuse не так уж плохо,
  • Diffmerge from SourceGear имеет только один недостаток в обработке UTF8 файлов без спецификации, что делает непригодным для этого случая.
  • 0
    TortoiseGitMerge на самом деле довольно хорош - я не знаю kdiff3, но никогда не был недоволен и ничего не пропустил в TortoiseGitMerge, он позволяет мне выполнять как двух-, так и трехстороннее слияние очень быстро и интуитивно.
  • 0
    @ mindplay.dk - TortoiseGitMerge (в большинстве случаев) хороший TortoiseMerge под капотом
Показать ещё 1 комментарий
1

Другим свободным вариантом является jmeld: http://keeskuip.home.xs4all.nl/jmeld/

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

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

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

Если вы хотите придерживаться бесплатного инструмента, JMeld приближается к Araxis.

  • 0
    Я также слышал много хорошего об Араксисе.
0

Что не так с использованием Git Для Windows? С точки зрения репо есть значок ветки, в которой вы находитесь (вверху), и если вы нажмете на управление, вы можете перетащить и получить очень визуальный и удобный способ.

  • 6
    Я думаю, что вопрос был о разрешении конфликтов слияния.
  • 0
    Я ЗНАЮ, что вопрос был о разрешении конфликтов слияния

Ещё вопросы

Сообщество Overcoder
Наверх
Меню